数据结构
游芒。
这个作者很懒,什么都没留下…
展开
-
20200327
C++简单程序设计;顺序查找、折半查找、分块查找、二叉排序树、二叉平衡树。原创 2020-03-28 08:46:59 · 84 阅读 · 0 评论 -
20200326
——主要是数据结构的学习——1、堆排序的学习与实现2、二路归并排序的学习与实现3、基数排序的学习原创 2020-03-26 23:23:36 · 99 阅读 · 0 评论 -
04-Reversing Linked List
难顶,最开始想用链表的,后来操作太麻烦,就使用了数组实现。思路如下:输入格式Address Data Next00100 6 400000 4 9999900100 1 1230968237 6 -133218 3 0000099999 5 6823712309 2 33218一行表示一个元素,其中第一列表示该元素的地址,第二列表示该地址内存放的元素的值,第三列表示该元素...原创 2020-02-27 11:56:24 · 255 阅读 · 0 评论 -
03-多项式的加减乘除
多项式链表表示的输入:void input(Node *p){ //错误的定义方法 Node *p; int i; p = q -> Next; //对p的第一次定义 for (i = 0; i < num; i++){ p = (Node*)malloc(sizeof(Node)); //相当于是对p的第二次定义,把p的值给改了,而不是在q后面接上,断链了 ...原创 2020-01-17 18:31:58 · 464 阅读 · 0 评论 -
02-求最大子列和中的算法思想
分而治之究其思想其实分而治之与递归的实现思想是有一定相似之处的:将大的问题不断划分为小而重复的问题,这就是“分”;再对解决起来相对更简单的小问题进行处理,这是“治”。最后再将小问题返回的结果一步步返回最终求出大问题的答案。这便是整个分而治之的过程了,这里码个坑,等以后有更深一步认识再来填坑。在线处理在线处理是减小代码时间复杂度,提高代码效率的一个重要方法。“在线”的意思是指每输入一个...原创 2020-01-09 21:04:10 · 105 阅读 · 0 评论 -
01-递归实现先序后序打印数
递归实现从1~N依次输出void printN(int N){ if ( N ){ printN( N - 1 ); printf("%d\n", N); } return;}递归实现从N~1依次输出void printN(int N){ if ( N ){ printf("%d\n", N); printN( N - 1); }}首先复习下递归函数需...原创 2019-12-27 18:18:33 · 318 阅读 · 0 评论 -
05-Pop Sequence
写出来非常有成就感的一道题,更加深了对栈的理解,所以觉得值得记录一下~算起来真正写程序加调试花了不过四十分钟,但是构建思路的时候花了足足两三个小时吧。首先见到题目的第一眼脑海中浮现的就是最直接的也是最蠢的办法:把所有可能的出栈序列都列出来存起来,然后再一一匹配。不过这个想法一出来就被否定了...工作量太大不说,穷举出所有可能序列的算法就够杀死我好多脑细胞了。然后关键来了,我又想到了【最大子列...原创 2019-08-19 18:55:29 · 341 阅读 · 0 评论