数据结构算法设计题
kelvinmao
这个作者很懒,什么都没留下…
展开
-
数据结构算法设计题汇总(1)
为了更好地学习数据结构,方便自己复习反思,特建立此分类进行课后习题的总结,通过总结来督促自己学习与反思,提升水平,一步步找出更好的算法。1.将一元素插入一个有序的顺序表中,使其仍然有序,写出能够实现此算法的代码。我的思路是将元素先插入表尾,之后再进行插入排序,代码如下:#include<stdio.h> #define OK 1 #define ERROR 0 #define TRUE 1 #def原创 2016-03-30 23:08:12 · 8143 阅读 · 0 评论 -
栈用于解决括号匹配问题
在编写程序的过程中,我们经常需要对一串括号是否匹配进行判断。如何判断呢?我们可以借助栈来进行判断。基本思路是:遍历字符串,当发现有右括号而此时的栈顶元素又恰好是与之匹配的左括号时,则栈顶元素出栈;其余情况全部入栈,代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #define OK 1 #define ERROR 0 #de原创 2016-04-07 23:01:26 · 4731 阅读 · 0 评论 -
双向链表的应用—实现根据使用频率安排元素位置的功能
在平时使用音乐播放器时,播放列表中的歌曲可以很方便地进行增添,删除,去重等操作。但其本质都可以抽象成一个双向链表。为了更方便用户的使用,我认为还可以增加一个将最常播放的音乐放在播放列表的头部的功能,那么如何实现呢?请看代码: #include<stdio.h> #include<stdlib.h> #include<time.h> #define OK 1 #define ERROR 0 #defi原创 2016-04-04 12:56:09 · 2145 阅读 · 0 评论 -
面试中关于二叉树的常见习题(持续更新)
这两天看了几篇关于面试中关于二叉树的常见问题,感到思路得到了很大的拓展,对递归的理解也更加深入,下面将问题及代码总结如下:Q1:求二叉树第k层的结点个数 A:递归思路:空树返回0;只有根节点返回1;其余情况对左右子树进行递归,返回左右子树(k-10层)结点数之和/*求二叉树第k层的结点个数*/ /*空树返回0,只有根节点返回1,其余情况对左右子树进行递归,返回左右子树(k-10层)结点数之和*/原创 2016-05-18 09:53:40 · 869 阅读 · 0 评论