数据结构&算法
文章平均质量分 79
分享数据结构&算法学习笔记
努力码到100k
仅记录本人的学习过程中的笔记,学习渠道来自各个博主,没有侵权的意图,希望能帮助到你。
展开
-
八大算法思想
这就是所谓的最优化原理。最优化原理,一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。同时,这样的最优策略是针对有已作出决策的总结,对后来的决策没有直接影响,只能借用目前最优策略的状态数据。这也被称之为无后效性。动态规划是在目前看来非常不接近人类思维方式一种算法,主要原因是在于人脑在演算的过程中很难对每一次决策的结果进行记忆。动态规划在实际的操作中,往往需要额外的空间对每个阶段的状态数据进行保存,以便下次决策的使用。原创 2023-08-28 11:47:44 · 62 阅读 · 0 评论 -
九大常见数据结构
数据结构博大精深,没有高等数学的讳莫如深,也没有量子力学的玄乎其神,但是其在计算机科学的各个领域都具有强大的力量。本文试图采用图解的方式对九种数据结构进行理论上的介绍,但是其实这都是不够的。即便是简单的数组、栈、队列等结构,在实际使用以及底层实现上都会有许多优化设计以及使用技巧,这意味着还需要真正把它们灵活的用起来,才能够算是真正意义上的熟悉和精通。但是本文可以作为常见数据结构的一个总结,当你对某些结构有些淡忘的时候,不妨重新回来看看。原创 2023-08-28 11:32:56 · 89 阅读 · 0 评论 -
数据结构&算法-1.绪论(黑马学习笔记)
数据结构就是数据在内存中存储的方式数据>数据对象>数据元素>数据项。原创 2023-09-04 16:38:48 · 101 阅读 · 0 评论 -
数据结构&算法-2.线性表(黑马学习笔记)
n个人围成一圈,初始编号从1~n排列,从约定编号为x的人开始报数,数到第m个人出圈,接着又从1开始报数,报到第m个数的人又退出圈,以此类推,最后圈内只剩下一个人,这个人就是赢家,求出赢家的编号。除a0和an外的其他元素ai,既有前驱,又有后继;开始结点指的是逻辑上的第一个元素的结点但是数据结构中为了简化插入删除操作,链表一般都是有空的头结点的,这样开始结点就成了事实上(物理上的)第二个结点了。● 线性表是零个或多个数据元素的有限序列,数据元素之间是有顺序的,数据元素个数是有限的,数据元素的类型必须相同。原创 2023-09-04 17:43:01 · 59 阅读 · 0 评论 -
数据结构&算法-3.受限线性表(黑马学习笔记)
在线性表表尾进行插入和删除操作,表尾指栈顶,而不是栈底。特殊之处在于限制了这个线性表的插入和删除的位置,它始终只在栈顶进行,也使得:栈底是固定的,最先进栈的只能在栈底。和顺序存储的对外接口完全一。原创 2023-09-04 19:03:59 · 69 阅读 · 2 评论 -
数据结构&算法-4.非线性结构(黑马学习笔记)
由一个或多个(n≥0)结点组成的有限集合T,有且仅有一个结点称为跟(root),当n>1是,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,...Tm.每个集合本身又是棵树,被称作这个根的子树。原创 2023-09-04 19:17:56 · 190 阅读 · 0 评论 -
数据结构&算法-5.常见排序算法思想(黑马学习笔记)
直接插入与折半插入对比:原始数据越接近有序,直接插入排序速度越快,折半没有这个性质折半查找比顺序查找快,所以折半插入平均性能来说比直接插入排序要快当n较大时,总关键码比较次数比插入排序的最坏情况要好很多,但比最好情况要差折半插入排序的数据移动次数与直接插入排序相同,依赖于数据的初始排列减少了比较次数,但没有减少移动次数平均性能优于直接插入排序。原创 2023-09-04 19:21:08 · 34 阅读 · 0 评论 -
数据结构&算法-6.常见查找算法思想(黑马学习笔记)
红黑树是一种自平衡的二叉查找树,是一种高效的查找树。红黑树通过将结点进行红黑着色,使得原本高度平衡的树结构被稍微打乱,平衡程度降低。这是一种折中的方案,大大提高了结点删除和插入的效率。红黑树具有良好的效率,它可在。C++中的STL的 map 就常用到红黑树作为底层的数据结构。对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。每个叶结点(叶结点即指树尾端NIL指针或NULL结点)都是黑的。如果一个结点是红的,那么它的两个儿子都是黑的。每个结点要么是红的要么是黑的。原创 2023-09-04 19:23:19 · 24 阅读 · 0 评论