数据结构
文章平均质量分 66
怀橘v
把每一件简单的事情做好就是不简单,把每一件平凡的事做好就是不平凡
展开
-
栈与队列
栈概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。Java中常用的方法实现利用顺序表实现,即使用尾插 + 尾删的方式实现利用链表实现,则头尾皆可public class MyStack { // 简单起见,我们就不考虑扩容问题了原创 2021-04-09 21:17:42 · 128 阅读 · 0 评论 -
排序(冒泡插排选排)
排序 就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。平时的上下文中,如果提到排序,通常指的是排升序(非降序)。通常意义上的排序,都是指的原地排序(in place sort)。稳定性 指两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。基于比较的七种排序插入排序原理整个区间被分为有序区间无序区间每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入代码实现 // 最好的情况:原创 2021-04-07 18:45:45 · 112 阅读 · 0 评论 -
排序(希尔快排堆排归并)
前面我们讲了插入、选择、冒泡三种排序下面我们来讲讲剩下的几种排序希尔排序原理希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工作。当到达=1时,所有记录在统一组内排好序。希尔排序是对直接插入排序的优化。当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果原创 2021-04-08 20:47:09 · 78 阅读 · 0 评论