![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
时光吹老了好男孩
非诚勿扰
展开
-
数据结构的基本功能
1.数据结构是计算机存储和组织数据的方式,相互之间存在关系的集合。数据结构与某种算法和索引有关。2.基本功能:删除、查找、添加、遍历。原创 2018-03-20 23:38:22 · 651 阅读 · 0 评论 -
数据结构的分类
1.常用的数据结构:数组、有序数组、栈、队列、链表、二叉树、红黑树、2-3-4树、哈希表、堆、图。原创 2018-03-20 23:45:47 · 253 阅读 · 0 评论 -
冒泡、选择、插入排序算法
1.冒泡排序: ①、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ②、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数(也就是第一波冒泡完成)。 ③、针对所有的元素重复以上的步骤,除了最后一个。 ④、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。2.选择排序:选择排序是每一次从待排序的数据元素中选出最小的一个元...原创 2018-03-21 00:06:01 · 138 阅读 · 0 评论 -
栈和队列
1.栈是一种只能在一端进行操作的线性表,按照先进后出的原则存储数据。栈具有记忆作用,对栈的操作中,不需要改变栈底指针。2.队列只允许在一端进行插入操作,在另一端进行删除操作,是先进先出的线性表。队列分为: ①、单向队列(Queue):只能在一端插入数据,另一端删除数据。 ②、双向队列(Deque):每一端都可以进行插入数据和删除数据操作。...原创 2018-03-21 00:43:35 · 149 阅读 · 0 评论 -
动态规划
个人见解:1.动态规划实现了把问题拆分成多个子问题,然后求解,子问题有解后,问题自然迎刃而解;动态规划算法与分治算法类似,不同的是动态规划分解成的小问题并不是互相独立的,即下一阶段的求解往往依赖于上一阶段的解,从而一步步求得原问题的解。...原创 2018-03-28 15:00:34 · 117 阅读 · 0 评论 -
常用排序算法的介绍
1.冒泡排序基本思想:从前向后依次比较相邻元素的大小,若逆序则交换位置,使得较大的元素往后放,最后形成从小变大的顺序。2.选择排序基本思想:首先从一组需要排序的数据中找出最小的数,然后放到首位,就是与第一位交换位置,然后再从剩下的数据中找出最小的与当前剩下的数据中的第一位交换,以此类推,最终按照从小到大的顺序排列。3.插入排序基本思想:设有一组数据(k1,k2,k3.....k...原创 2019-08-15 22:51:29 · 196 阅读 · 0 评论 -
插值查找算法
原理:插值查找算法类似于二分查找法,但不同的是中间值mid不是取中间的值,而是自适应的中间值。求mid索引的公式为left、right为第一位和末位的索引,findVal为要查找的值注意事项:1.对于数据量较大,分布均匀的查找表来说,插值查找速度较快2.对于分布不均匀的查找表来说,插值查找不一定比折半查找来的好...原创 2019-08-15 23:44:35 · 390 阅读 · 0 评论