![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
从零开始学算法
文章平均质量分 60
Emanonvvv
在读非cs研究生
展开
-
【从零开始学算法】冒泡排序
冒泡排序原理:假如有一列数据[9 4 1 2 7 3 6]从右往左开始对比,把更小的数移动到左边。对比3和6,3<6所以不动,再看7和3,7>3,所以3和7换位,变成[9 4 1 2 3 7 6]接下来123都不用移动,再到4和1,换位,变成[9 1 4 2 3 7 6]然后1和9换位,变成[1 9 4 2 3 7 6]这样最小的数就移动到了最左边,再进行一轮就可以把第二小的数移动到第二位去。冒泡排序第一轮需要n-1次操作,第二轮需要n-2次操作,为等差数列,因此冒泡排序的时间原创 2021-04-25 00:07:06 · 149 阅读 · 0 评论 -
【从零开始学算法】数据结构
链表每个数据都有一个指针,指向下一个数据的内存地址。链表中,数据分散储存,因此只能逐个访问数据。要增删数据,只需要改变数据之间的指针。【拓展】①普通列表最后一个数据没有指针,但可以添加一个指针指向头部,叫循环链表。②可以添加反向的指针,实现反向便历数据,叫双向链表。数组数组元素按顺序储存在连续的内存中,每个元素都有编号,可以通过编号直接访问数组元素。但要在特定位置增删数组元素很麻烦,需要移动其他元素。栈栈是一种线形数据,只能访问到最新的数据。有入栈(push)和出栈(pop)两种操作。.原创 2021-04-22 00:20:27 · 87 阅读 · 0 评论