Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6268948
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

发布时间:2013-08-29 00:48:15

某些算法逻辑,用递归很好表述,程序也很好写。理论上所有的递归都是可以转换成非递归的。如果有些场合要求不得使用递归,那就只好改成非递归了。通常改成非递归算法的思路,就是使用临时的一个栈来存放计算的临时值。下面演示2个例子。示例一:假设有如下的递归函数f(1)=3f(2)=11f(n)=4*f(n.........【阅读全文】

阅读(1138) | 评论(0) | 转发(0)

发布时间:2013-08-27 03:41:27

题目:查找最小的k个元素。利用堆排序解决这个问题的思路有两种:   思路 1:将输入的n个数建立成大顶堆并排序后,再遍历输出前k个元素,此k个元素即使最小的K个元素。  思路2:  维护k个元素的最大堆,即用容量为k的最大堆存储最先遍历到的k个数,并假设他们是最小的k个数。继续遍历数列,每次遍历.........【阅读全文】

阅读(736) | 评论(0) | 转发(0)

发布时间:2013-08-23 02:25:53

所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。当待排序记录的关键字都不相同时,排序结果是惟一的,否则排序结果不惟一。在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对.........【阅读全文】

阅读(663) | 评论(0) | 转发(0)

发布时间:2013-08-20 11:06:32

一、如何实现编译器中的符号成对检测?1>算法思路:    1)从第一个字符开始扫描    2)当遇见普通字符时忽略,当遇见左符号时压入栈中    3)当遇见右符号时从栈中弹出栈顶符号    4)进行匹配.........【阅读全文】

阅读(722) | 评论(0) | 转发(0)

发布时间:2013-08-07 00:33:55

    上一篇文章我们通过迪杰斯特拉算法解决了从某个源点到其余各顶点的最短路径问题。从循环嵌套很容易得到此算法的时间复杂度为O(n^2)。可是怎么只找到从源点到某一个特定终点的最短路径,其实这个问题和求源点到其他所有顶点的最短路径一样复杂,时间复杂度依然是O(n^2)。    此时比较简单方法就是.........【阅读全文】

阅读(676) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册