摘要: 思路参考《算法导论》P95 这里有位老哥的文章写的挺形象的呀 http://developer.51cto.com/art/201403/430986.htm 我是参照书上实现的,觉得挺简单的 代码 运行结果: 阅读全文
posted @ 2018-01-13 22:31 nullxjx 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 这个没啥好说的,写完上一个正好写一下这一个,都是基于堆实现的,不过这里没有用C++内置数组,原因是添加删除元素有点麻烦,所以用了vector来实现。 详细内容见《算法导论》P90 代码 1 // 基于最大堆实现最大优先队列.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include 阅读全文
posted @ 2018-01-13 21:15 nullxjx 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 思路参考《算法导论》P84 堆排序中用到的最重要的就是堆这种数据结构,也正是因为这种数据结构能把时间复杂度控制在O(n * lgn) heapsort算法主要依赖于两个函数 MAX_HEAPIFY(int *A,int i,int len) 用于维护最大堆,时间复杂度为O(lgn),注意书上描述这个 阅读全文
posted @ 2018-01-13 16:10 nullxjx 阅读(466) 评论(0) 推荐(0) 编辑