- 博客(6)
- 收藏
- 关注
原创 数据结构与算法——排序
快速排序的基本思路是:在待排序序列中随便选取一个数据,作为所谓“支点”,然后所有其他的数据与之比较,以从小到大排序为例,那么比支点小的统统放在其左边,比支点大的统统放在其右边,全部比完之后,支点将位与两个序列的中间,这叫做一次划分(partition)。可以预料,经过一轮比较,序列中具有“极值”的数据,将被挪至序列的末端。一次划分之后,序列内部也许是无序的,但是序列与支点三者之间,形成了一种基本的有序状态,接下去使用相同的思路,递归地对左右两边的子序列进行排序,直到子序列的长度小于等于1为止。
2024-08-11 16:20:47 1622
原创 数据结构与算法总结——队列和栈
只要满足上述条件,那么这种特殊的线性表就会呈现一种“后进先出”的逻辑,这种逻辑就被称为栈。栈在生活中到处可见,比如堆叠的盘子、电梯中的人们、嵌套函数的参数等等。链式栈的组织形式与链表无异,只不过插入删除被约束在固定的一端。队列(Queue)是只允许在一端进行插入,在另一端删除的线性表,特点是“栈(Stack)是一种逻辑结构,是特殊的线性表。出栈:若栈非空,则弹出栈顶元素,并将栈顶元素返回。入队:若队列未满,将x加入,使之成为新的队尾。出队:若队列非空,删除对头元素,将数据返回。栈的初始化:构造一个空栈S。
2024-08-09 17:07:26 461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人