
数据结构笔记
Swayzzu
这个作者很懒,什么都没留下…
展开
-
时间复杂度-主定理分析
计算时间复杂度,当时间复杂度推算出来是下面T(n)的形式的时候,可以通过主定理分析计算它的时间复杂度。其实就是根据前半部分的a,b,计算一个结果,再和后面的f(n)进行对比,哪个大就取哪个。如果相等的话,就把f(n)写成下面第二条的形式,找出k的值,即可得到最终结果。举例如下:...原创 2021-11-13 10:28:10 · 6487 阅读 · 1 评论 -
树与树算法
1原创 2021-08-30 22:32:40 · 72 阅读 · 0 评论 -
排序算法原理及实现
稳定性:例:原序列中假设(3,1)和(3,7)的顺序是(3,1)(3,7),如果排完序,这两个顺序没变,还是(3,1)(3,7),就说明是稳定的,如果变了,就说明不稳定。冒泡排序方法:从第一个数开始,每次只对比两个数,如果后面的比前面的小则交换位置,否则不换位置,拿较大的数继续往后比对,一直跑到最后。两种循环实现冒泡排序:选择排序方法:第一步从序列中选出最小的和第一个换位置;第二步从剩余的数中选出最小的和第二个换位置;依次进行。(不稳定:升序,选择最大的数的时候会不稳定。).原创 2021-08-29 22:18:28 · 301 阅读 · 0 评论 -
数据结构之栈与队列
栈是一种容器,可以存入数据、访问元素、删除元素。特点:数据先进后出。相当于一个乒乓球筒,先放进去的乒乓球只能最后拿出来,而最后放进去的,在最上面,会最先被拿出来。用list可以实现栈的功能。过程中需注意:1.初始化时设置为私有容器2.虽然list的pop会有返回值,但用在栈的构造中,还是需要再返回一次才能打印。3.查看元素不要忘记列表为空的情况队列:和栈类似,区别就是,队列只能一段进,另一端出。过程中需注意:1.由于添加和弹出不管是队头进队尾出,还是队尾进队头原创 2021-08-28 13:23:35 · 77 阅读 · 0 评论 -
数据结构之链表
设L=[200,400,600]每个数据地址都不一样,分别设为:0x22,0x55,0x63每个数据节点有2个区域,一个存储数据,另一个存储下一个数据的地址。便可以实现将所有数据串起来,最后一个数据的后一个区域指向空值。单向链表:首先要有第一个节点的位置。...原创 2021-08-28 08:10:41 · 123 阅读 · 0 评论 -
数据结构之顺序表
内存:连续的存储单元,每一个字节是八位,也叫做一个存储单元普通整型,对于32位机器,占四个存储单元(字节)4Byte=32位例:1,二进制是0000 0001,储存的时候:0000 0000 0000 0000 0000 0000 0000 0001顺序表:形式1:将相同类型的数据按物理地址的顺序存放,通过偏移量计算数据的位置。例如L=[1,2,3]。列表的起始位置假设为0x03,那么寻找第一个数据1的时候,我们给出的是L0,也就是说不进行偏移。第二个数据的时候,L1,意思就是从0x03开始原创 2021-08-26 13:29:18 · 123 阅读 · 0 评论 -
数据结构与算法
数据结构与算法,相当于战争中的“兵法”,在面对新问题的时候能帮助提供思路。解决问题的思路和方法就是算法。算法特性:有输入、有输出、有穷性(非无限循环、运行时间可接受)、确定性(无二义)、可行性...原创 2021-08-25 22:44:40 · 63 阅读 · 0 评论