type
status
date
tags
category
icon
password

数据结构与算法

可以容纳数据的结构被称为数据结构 静态
算法是用来对数据结构进行处理的方法 动态
 

一维数据结构:(线性数据结构)

线性的数据结构强调存储与顺序
 

数组

数组特性:
1.存储在物理空间上是连续的
2.底层的数组长度是不可变的
3.数组的变量,指向了数组的第一个元素的位置
 
优点:查询性能好(指定查询某个位置)
 
缺点:
1.因为空间必须是连续的,所以如果数组比较大,当系统的空间碎片较多时,容易存不下
2.因为数组的长度是固定的,所以数组的内容难以被添加和删除
 

链表

想传递一个链表,必须传递链表的根节点
每一个节点,都认为自己时=是根节点。
链表特性:
1.在空间上不是连续的
2.每存放一个值都要多开销一个引用空间
 
优点:
1.只要内存足够大就能存的下,不用担心空间碎片问题
2.链表的添加和删除非常的容易
 
缺点:
1.查询速度慢(指的查询某个位置)
2.每一个节点都需要创建一个指向next的引用,浪费一些空间
当节点内数据越多的时候,这部分开销的内存影响越少
 

线性数据结构的遍历

遍历:将一个集合里的每一个元素进行获取并查看;

循环遍历

递归遍历(必须有出口)

 

链表的逆置

 

冒泡排序

 

选择排序

 

简单快速排序

标准快速排序

 
 
CompositionApi暂未开放
Loading...
杨敢敢
杨敢敢
一个普通的干饭人🍚
Announcement
🤖 本博客运行状态播报
「前端代码持续乱炖中,不定期揭盖撒点新调料~」
✨ 功能更新:
  • 本周新增《摸鱼学导论》彩蛋按钮(开发者已掉3根头发)
  • 页面动画效果:假装加载很快的样子✨
🚨 高危预警:
评论区开放「野生bug收容所」👉 来帮我抓虫/投喂技术冷笑话/用表情包远程撸猫
(小声:下次更新可能是明天,也可能是下辈子👻)