数据结构和算法
文章平均质量分 52
94Howen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java排序算法(三):堆排序
Java排序算法(三):堆排序 堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O(nlog2n) ,堆排序的堆序的平均性能较接近于最坏性能。 堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键原创 2014-05-05 13:13:00 · 184 阅读 · 0 评论 -
中序表达式转后续表达式的堆栈实现…
逐个字符读取中序表达式, 若为字母则直接添加到后续表达式中。 若为'('则压入堆栈。 若为')'则不断从堆栈中弹出运算符,直到遇到'('为止。 若为+,-,*,/,%中的某个运算符时,若运算符优先级高于栈顶运算符优先级,则将其直接压入堆栈,否则不断出栈运算符,直到满足该运算符优先级高于栈顶运算符优先级或者堆栈为空时,再将该运算符压入堆栈。 若表达式已经读取完,堆栈中还有运算符,则不断出栈运算符即原创 2014-05-05 13:13:54 · 611 阅读 · 0 评论 -
递归应用(一):背包问题
这里的背包问题是一个比较简单的问题,即已知背包的总承重和一些重物的重量,在重物中选出一些放进背包,使得选出的重物的总重量恰好等于背包的总承重。 我思考了一下,用Java写出了一个递归的解决办法。 代码如下: public class Bag { static int[] a = { 11, 8, 7, 5 }; static int n = a.length; sta原创 2014-05-05 13:13:28 · 269 阅读 · 0 评论 -
最大堆的C++实现,及过程中遇到的一个小问题
template class MaxHeap{ public: MaxHeap(int MaxHeapSize = 10); ~MaxHeap(){ delete[] heap; } int Size()const{ return CurrentSize; } T Max()const; MaxHeap& Insert(const T& x); MaxHeap& DeleteMax(T原创 2014-05-07 19:44:51 · 361 阅读 · 0 评论
分享