小弟没读多少书,还请各位大侠帮忙指点一个算法

Daisy__Ben 2012-07-16 11:45:14
最近看到一个java类Timer里面,有这样一个算法。即Timer::TimerImpl::TimerHeap类的downHeap和upHeap两个函数,我在演草纸上画了很久,最终只模模糊糊明白大概意思:将完全二叉树从顶点到叶节点,从上到下,从左到右,依次标记所在位置为0-N ,一一对应于数组的第0-N元素。每次upHeap能找出数组中(或二叉树中)具有最小值的元素,放在数组的起始位置(二叉树的根),downHeap(pos)找出pos为根的子树的最小值。代码很少却很深奥,好像确实很保证最小的元素在根的位置,请问这个算法叫什么名字,出自哪里教材或者书中?怎样才能理解它呢
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Daisy__Ben 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

堆排序
[/Quote]
[Quote=引用 3 楼 的回复:]

最小根堆排序
[/Quote]
嗨!真感谢,果然在书上找到了
丈八涯 2012-07-17
  • 打赏
  • 举报
回复
堆排序
丈八涯 2012-07-17
  • 打赏
  • 举报
回复
堆排序
舒沉 2012-07-17
  • 打赏
  • 举报
回复
最小根堆排序

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧