merge-sort-call-tree-graph
来源:互联网 发布:双十一网络诈骗事件 编辑:程序博客网 时间:2024/05/18 12:29
merge-sort-call-tree-graph
实现归并排序的递归调用图
最近为了给一个学归并排序的同学搞懂递归调用的过程,在纸上画了整个递归调用的流程,及其每次调用传递的参数以及执行后的相应结果.
感觉非常适合教学使用,随用js自动画了个图,方便大家学习.
程序划分
虽然这个程序是js写成的,但是由于教学对象是学C的,所以贴的代码仍然是C的.
我们把归并排序的过程分为5步,在下面的注释中可以看到.
void merge(int a[], int first, int mid, int last, int temp[]) { int i = first, j = mid + 1; int m = mid, n = last; int k = 0; while (i <= m && j <= n) { if (a[i] <= a[j]) temp[k++] = a[i++]; else temp[k++] = a[j++]; } while (i <= m) temp[k++] = a[i++]; while (j <= n) temp[k++] = a[j++]; for (i = 0; i < k; i++) a[first + i] = temp[i]; } void sort(int a[], int first, int last, int temp[]) { if (first < last) return; //step1 int mid = (first + last) / 2 //step2; sort(a, first, mid, temp); //step3 sort(a, mid + 1, last, temp); //step4 merge(a, first, mid, last, temp); //step5 }
示列
归并排序递归调用图
截图
注
- 本代码基于React框架编写。
- Github代码
阅读全文
0 0
- merge-sort-call-tree-graph
- merge sort && loser tree
- Merge Sort
- Merge sort
- merge sort
- merge sort
- merge sort
- Merge Sort
- merge sort
- Merge Sort
- Merge Sort
- merge sort
- Merge Sort
- Merge sort
- Merge-sort
- Merge Sort
- Merge sort
- Merge Sort
- 验证HTTP Referer字段
- BZOJ 3339: Rmq Problem
- mybatis基本增删改查、缓存,延迟加载以及别名的配置
- Struts2和SpringMvc的区别
- 给Python3安装第三方库pillow (mac)
- merge-sort-call-tree-graph
- Java:在 Json 字符串中按 key 取值
- 异常计算数的平均值,输入小于0显示异常结束
- X86内核启动分析二 从bootloader到内核
- 微信小程序引用同一js文件中的方法函数(function)
- hpuoj 【1289】排序求和【水题】&&【sort】
- STM32采用HAL库HAL_UART_Receive_IT()多次开启的问题
- js中使用el表达式
- 探索新的Android Material Design支持库