数据结构
Am最温柔
每天都有觉得自己太菜的焦虑,解决方法也很简单,好好学习就行了,今天也要加油鸭~
展开
-
快速排序
错误点:nums[j]>=pivot 这里需要等于号if(i<j) 这个条件判断忘记了class Solution {public: vector<int> sortArray(vector<int>& nums) { int n = nums.size(); if(n==0) return nums; Qsort(nums,0,n-1); return nums; }原创 2021-03-10 10:40:55 · 86 阅读 · 0 评论 -
归并排序
思路:将数组左边排序,将数组右边排序,然后将有序的左右两边数组合并。错误点:if(beg>=end) return; 这里要写成大于等于,不能是大于,因为当区间内部只有一个元素时,也不许要进行比较了。最后这里将tmp数组重新复制给nums数组时,注意下标,因为tmp数组的索引总是从0开始的,因此这里需要注意。for(int i=0;i<end-beg+1;i++){nums[i+beg] = tmp[i];}class Solution {public: vecto原创 2021-03-10 10:13:19 · 68 阅读 · 0 评论 -
慕课浙大数据结构-09-排序1 排序 (25分)
排序练习写了冒泡排序,插入排序,希尔排序,堆排序,归并排序(递归和非递归)错误:for(j=i-1;j>=0&&temp<a[j];–j){//forget j>0对于循环控制变量为递减的循环,记得把j>0作为一个条件对于for(int i=0;i<N;++i)在循环中定义的变量似乎在退出循环之后没有办法继续使用//wrong used el...原创 2020-04-23 18:58:11 · 287 阅读 · 0 评论 -
慕课浙大数据结构-05-树8 File Transfer (25分)
忘了参考哪个博客了,并查集,数组下标代表存放的值,数组元素代表其父节点下标,根节点的元素值为负数,其绝对值为含有节点数量#include<stdio.h>int s[10005];//forget the ";"// int find(int x){// for(;s[x]>0;x=s[x]);// return x;// }int find(in...原创 2020-04-16 11:55:01 · 136 阅读 · 0 评论 -
慕课浙大数据结构-05-树9 Huffman Codes (30分)
参考05-树9 Huffman Codes (30分)写的错误记录:1.堆的插入和删除代码不是很熟练void Insert(pHeap H,struct TreeNode T){ int i = ++H->size; for(;T.weight < H->Data[i/2].weight;i/=2){//wrong used T.weight < H-...原创 2020-04-16 11:28:13 · 231 阅读 · 0 评论 -
慕课浙大数据结构-04-树4 是否同一棵二叉搜索树 (25分)
虽然听了MOOC中老师的讲课,仍然这个题写得很艰难,对树和递归不是很熟悉,对标志变量flag的应用也不是很熟悉,在写含有递归的函数时,不知道什么时候应该Return。参考博客:04-树4 是否同一棵二叉搜索树 (25分)#include<stdio.h>#include<stdlib.h> //malloc//使用链表存储二叉搜索树typedef struct Tr...原创 2020-03-30 16:26:58 · 154 阅读 · 0 评论 -
C语言快排实现错误记录
代码按照浙大-MOOC-数据结构背抄的,结果背抄的过程遇到了好多问题:1. for(i=0;i<5;i++){ //i++错写成了i- -2. while(pivot>A[++i]){}。忘记写++i了,循环无法退出。不等号方向也写反了。此行代码目的是当pivot>A[++i]继续移动指针,向右寻找。这种没有退出条件的for循环内部一定有break。对于这种循环whi...原创 2020-02-13 17:07:42 · 250 阅读 · 0 评论