目录
AA >提示:以下是本篇文章正文内容,下面案例可供参考
一、排序算法
1、插入排序
将一组数据中需要排序的数字每个单个拿出来进行排序,所需要的时间复杂度是:O(N)空间复杂度是:O(1)
2、快速排序
快速排序运用的是分治的思想,在每组数组中找到最后以一个元素作为中间元素将数组分割为两个部分,元素之前的部分小于该元素,元素之后的部分大于该元素,每个部分又不断找出新的元素进行归类排序,也就是说相比之前的排序算法,这种算法将元素每次进行大小比较的范围不断缩小,每次单个元素的比较也在便利着之后的元素大小比较。
3、归并排序
和快速排序的相同点:归并排序中也存在着数组中元素的分割
不同点:归并排序进行元素分割之前不用将元素进行排序,而是将元素全部分割成单个与相邻的元素进行比较大小,再进行合并
二、链表结构
1、什么是链表?
链表和数组都是常见的数据储存结构,数组和链表的区别在于数组的储存需要连续的空间,但数组不需要,可以这么理解,数组是化妆品正装,而链表是小样,只是储存的形式不同而已
2、链表的结构
插入
链表中元素的插入思想就是通过更改元素指针达到“插入”顺序的目的。
删除
删除同理,也是改变数据的指针,达到删除的效果,在改变指针之后将待删除的节点删除
查找(遍历)
创建一个新的节点存放待查找的元素,循环将cur中的元素与链表中的元素比较,查找到返回元素的地址
更新
将待更新的数值放到新节点中,在链表中查找元素,找到之后将元素的值更改即可。
以上操作所需要的时间复杂度都是O(n)