数据结构与算法
文章平均质量分 65
关于数据结构和算法内容的学习
Better Sally
希望成为一名优秀的程序员
展开
-
堆排序——C/C++
已经在根节点上了,这时把根节点的值和最后一个节点(数组0下标和n-1下标)交换,这样就破坏了这个小根堆,然后继续把它调整成小根堆,这次调整的时候就不带上n-1下标这个值了,然后又可以找出整个数组的。之前总是想不通堆排序因为很抽象,抽象的地方在于,它要排序的是一个数组,物理上排序的动作确是在二叉树上(准确地来说是平衡二叉树)。堆排序要做的首先是要构造出一个小根堆(小根堆的特点就是根节点小于左右子树)或者大根堆。,以此类推就可以找到第三小值......第n-1小值,就不用再调整了这时就剩一个最大值了。原创 2023-12-12 22:06:30 · 407 阅读 · 0 评论 -
2.排列树和子集树、快速排序及其优化
设 R ={r1,r2,r3 ...,rn}是要进行排列的n个元素,Ri = R - {ri)。集合X中元素的全排列记为perm(X)。(ri)permx)表示在全排列permX)的每一个排列前加上前ri得到的排列。R的全排列可归纳定义如下 :当 n=1 时,perm (R) = (r) ,其中r是集合R中唯一的元素;当n>1时,perm (R) 由 (ri) perm(R1), (r2) perm(R2) ,..., (ri) perm(Ri) 构成.原创 2023-07-12 22:22:46 · 679 阅读 · 0 评论 -
1.分治策略、递归、二分查找及相关问题
分治策略,递归,二分查找原创 2023-07-07 16:47:17 · 259 阅读 · 1 评论