数据结构基础
文章平均质量分 94
涵盖关键数据结构的基础讲解,后续会一直补充
Victoria.a
复习材料
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法的时间复杂度和空间复杂度
前面我说过计算的是开辟空间的深度,其实斐波那契和求阶乘递归的深度在参数是N的时候深度都是一样的,只不过斐波那契数列看起来复杂一点,实际上在最后一次函数调用建立栈帧结束要返回的时候,栈帧会销毁,紧接着下一次函数调用建立栈帧就会在这次销毁的地方建立并且复用,还理解不了的话就理解成空间是重复利用的就行,开辟的深度都是N层所以空间复杂度是O(N)二分查找的思想更简单了,每次找一半,最坏找到我们要查的数字时刚好结束,也就是2^x=N,x是次数,N是要查数据总个数,x=logN(注意)logN本质上是。原创 2025-01-17 18:18:18 · 1246 阅读 · 12 评论 -
顺序表和链表(无敌详解)
线性表()是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。注意我们学习数据结构也就是学习增删查改,后期会围绕这四个字进行讲解,本文的讲解会把基础模拟实现部分讲的很透彻,算法oj题可以基于基础知识向外扩展,有了基础数据结构理解相信算法oj题也很好拿下了顺序表是用一段。原创 2025-01-22 21:54:46 · 1559 阅读 · 29 评论 -
栈和队列数据结构
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。栈中的数据元素遵守后进先出LIFO)的原则。压栈:栈的插入操作叫做进栈压栈入栈,。出栈:栈的删除操作叫做出栈。。可以看到栈是一种后进先出的数据结构,类似一个数组,入数据尾插,出数据尾删,栈顶数据就是尾数据,依据这个理解栈就很简单并且栈可以实现为数组栈,也可以实现尾链式栈(支持尾插尾删就可以)下边讲一下栈的实现栈的实现一般可以使用,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。原创 2025-02-22 16:50:19 · 1152 阅读 · 16 评论 -
二叉树和堆
的。注意,二叉树习惯把问题切分为子问题。原创 2025-01-19 23:17:29 · 1308 阅读 · 26 评论 -
二叉树和堆(补充)
的。注意,二叉树习惯把问题切分为子问题。原创 2025-01-20 23:35:34 · 1222 阅读 · 4 评论 -
数据结构易错题
有效长度一般是rear-front, 但是循环队列中rear有可能小于front,减完之后可能是负数,所以需要+N,此时结果刚好是队列中有效元素个数,但如果rear大于front,减完之后就是有效元素个数了,再加N后有效长度会超过N,故需要%N。树度为4,最小深度就是每个结点的孩子都是4的时候深度最小,4的0次方+4的一次方+4的2次方+ +4的n次方,当n为6的时候结点个数刚好大于1000,所以最小深度就是6。只有快排是有两种情况,有序是n方,三数取中能约等于n*logn,其他排序均为1种情况。原创 2025-03-17 17:13:58 · 1353 阅读 · 0 评论
分享