- 博客(9)
- 收藏
- 关注
原创 c++把各种数据结构的排序算法的课本代码给实现了一下,需要者自取
/如果r[j]<r[0]则则r[j]<r[0]<r[j+1],本次的j+1是上次的j,所以j+1是空位,所以赋值。//右半边同样操作,其中i,j取决于如果没有被pivotloc覆盖就是1,n-1,但是大多数。//然后赋值给j,因为j的值已经存到原来i的位置了,接下来可以重复,因为这时候i的值也被存了。if (r[i] < r[i - 1])//如果i比i-1还大,那就不要移动,只有小于时才有操作空间。//同时由于已经提前把i-1个这个最大元素存到了i中,i-1相当于空位,原i的值的0位置处。
2023-05-24 09:23:02 87 1
原创 大一数据结构拯救,课本代码详细解析之查找算法
/让s的左子树接到s的双亲q的右孩子位置处,这时候s一定存在,不用担心调用。//那就只需要在将R的左孩子的data赋给R后将R的左孩子节点删除即可。//了空指针,但是s的左子树未必存在,也无所谓,没有左子树那就把q->rch赋空相当于把s节点摘除。= R)//如果根节点R的左孩子的右孩子存在(就是while语句内的内容至少执行了一次)//说白了上述操作就是要找到左子树的最大节点------肯定在先找左子树后一直向右找右子树。
2023-05-17 14:51:34 109 1
原创 大一数据结构作业样例---------极易复用和修改,代码简单不易被老师识破之Prim算法,输入节点总数,弧数和邻接矩阵获得最终的最小生成树
方便各位大学生自用的一个Prim算法的大一学生能写出来的利用邻接矩阵的Prim算法
2023-05-14 13:24:52 79
原创 节点数和权重值数组用顺序表实现哈夫曼树的代码
于是我写了这个顺序表的实现,非常简单,需要输入节点数和权重值即可,而且还会输出各个叶子节点的编码(当然你可以删去)//自行实现 从1~i中选出权值最小的两个点。整体来讲问题不大,还有那两个赋值过程也比较聪明先赋值小的,如果不满足再看次小的*///思考:目前 我需要从HTree的顺序表中每次挑选两个最小值,但是不能重复挑选。Huffman树的构建过程的特点,就是已经使用过的数据的双亲节点会不再是-1。整体来看,我对自己写的这份取小代码还是很满意的,因为这里利用到了。//可以看他的双亲是否存在。
2023-05-08 22:00:00 109
原创 最短路径之Dijkstra算法
(2)然后以选出的最短路径(这个就是从你目前的所有优化路径中选择),作为转发路径,找出通过这条路径转发后可到达其他顶点(指不是转发点的所有点,即通过转发点可以直接到达的点),然后会获得若干条路径,如果终点和之前已经获得的路径的目标点一样且更短,那么我们就覆盖掉,不然就不覆盖,然后重复(2);(2)源点到达目标点的最短路径中的其他节点的路径必然也是最短的,这个很好理解:如果到达中间节点的路径不是最优的,那么我采取最优路径然后再按照原路从中间节点到目标节点,一定比之前那个短,所以之前那个一定不是最优路径。
2023-05-06 15:28:46 161
原创 一个非常简单的用顺序表都可以完成的不用任何复杂函数只需要给出节点数和权值就可以求出权值和的哈夫曼编码代码,可以抄作业用
/自行实现 从1~i中选出权值最小的两个点。整体来讲问题不大,还有那两个赋值过程也比较聪明先赋值小的,如果不满足再看次小的*///思考:目前 我需要从HTree的顺序表中每次挑选两个最小值,但是不能重复挑选。Huffman树的构建过程的特点,就是已经使用过的数据的双亲节点会不再是-1。而且需要将获得的新值加入进去,并且将使用过的删去。整体来看,我对自己写的这份取小代码还是很满意的,因为这里利用到了。//可以看他的双亲是否存在。
2023-05-03 01:20:50 74 1
原创 Huffman树
/自行实现 从1~i中选出权值最小的两个点。整体来讲问题不打,还有那两个赋值过程也比较聪明先赋值小的,如果不满足再看次小的*///思考:目前 我需要从HTree的顺序表中每次挑选两个最小值,但是不能重复挑选。Huffman树的构建过程的特点,就是已经使用过的数据的双亲节点会不再是-1。而且需要将获得的新值加入进去,并且将使用过的删去。整体来看,我对自己写的这份取小代码还是很满意的,因为这里利用到了。//可以看他的双亲是否存在。
2023-04-24 23:43:24 71 1
原创 二叉树的遍历基础方法理解
首先,就是遍历思想,是采用入栈的方式进行存储,然后从根节点出发,不断地寻找其左孩子,直到左孩子为空,再寻找右孩子,右孩子如果也为空,那么就根据之前栈中所存储的,回退寻找上一个节点的右孩子,直到找到为止。= -1) && (S[top].tag == 1))//栈中还有元素而且左孩子。//在do~while的while结尾必须加上分号。// do//do~while的作用是 当且仅当直到栈空我们才停止循环,// do//do~while的作用是 当且仅当直到栈空我们才停止循环,
2023-04-21 14:20:59 51
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人