![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 53
数据结构C++实现
王大队长
这个作者很懒,什么都没留下…
展开
-
二叉搜索树
后面还有一些二叉搜索树的查找、插入删除等操作待更新,以及由二叉搜索树可以引申出后面的红黑树。二叉搜索树的节点包含:左孩子节点、右孩子结点、父节点以及自己的value值。二叉搜索树的左节点的值大于父节点,父节点的值大于右节点。原创 2022-10-01 09:06:35 · 104 阅读 · 0 评论 -
动态规划算法
【代码】动态规划。原创 2022-09-25 21:53:58 · 207 阅读 · 0 评论 -
常见排序算法
把数组分为有序区和无序区(初始时,仅第一个元素为有序区),将无序区的第一个元素插入到有序区的适当位置,使之变为新的有序区,插入方法有点类似冒泡排序(只不过将每次的两两交换变成覆盖):代码实现(升序): 算法性能分析: 总之就是将直接插入排序在有序区的顺序查找换成二分查找代码实现: 算法性能分析: 直接看定义比较晦涩,我们直接看例子:如下图所示,假如我们的初始数组为9876543210,我们要进行升序排序变成0123456789。我们先选定d=5,即将10个数等间隔分为5组(9和4一组、8和3一原创 2022-09-15 23:21:18 · 178 阅读 · 0 评论 -
查找的三种常用算法
给定一个值k,在含有n个元素的表中找出关键字等于k的元素。若找到,则查找成功,返回该元素的信息或该元素在表中的位置;否则查找失败,返回相关的指示信息。我们最常见的查找莫过于对数组进行查找,比如:但是接下来我们知道其实还有很多别的数据结构比如二叉树能够有效的进行查找。若在查找的时候同时对表进行操作(如插入和删除),则称为动态查找表,我们知道对数组进行动态查找效率是比较低的。一些定义:若在查找的时候不涉及对表进行操作(如插入和删除),则称为静态查找表。原创 2022-09-07 00:03:51 · 1465 阅读 · 0 评论 -
第三章、栈和队列
在大二懵懵懂懂上数据结构的时候,当时学完了栈、队列、树我都不知道学这些数据结构有什么用,直到我大四在力扣上刷到这道题,这道题的算法用栈是最简单的,从此我才知道这些数据结构原来这么有用,于是我赶紧回过头来重新刷一遍数据结构!我主要是用的这本教材并且由于我在自学C++,因此教材中用C实现的部分我全部换成C++进行实现(也不用改太多东西的一说..)...原创 2022-08-16 23:07:55 · 268 阅读 · 0 评论