数据结构和算法
学习编程基础
邱明_kzx
IT码农
展开
-
链表
1.链表和数组对比 数组需要一块连续的内存空间来存储,对内存的要求比较高 链表则是通过“指针”将一组零散的内存块串联起来使用 2.链表的结点除了存储数据之外,还需要记录链上下一个结点的地址,称为后续指针。 2.几种常用的链表结构 单链表:头结点记录链表的基地址,尾结点指向null 链表的随机访问需要循环遍历,无法通过寻址公式来直接算出内存地址,所以链表的随机访问的性能没有数组好 循环链表:循环链表...原创 2020-03-22 13:47:50 · 123 阅读 · 0 评论 -
时间复杂度
对于不同情况下,代码的时间复杂度不一样,引入三个概念 最好情况时间复杂度:在最理想的情况下,执行这段代码的时间复杂度 最坏情况时间复杂度:在最糟糕的情况下,执行这段代码的时间复杂 平均情况时间复杂度: 例子:在数组中查找元素 1.有(n+1)中情况,每种情况下要遍历的元素个数累加起来,得到:(1+2+3+....+n+n)/ n+1 (没有考虑概率问题) 2.用到概率论,元素在数组中和不在数组中...原创 2020-03-22 13:47:03 · 376 阅读 · 0 评论