数据结构论坛

首页 » 分类 » 问答 » 算法与数据结构树amp图专场总结
TUhjnbcbe - 2020/12/2 18:17:00

《算法与数据结构》树图专场总结

周五晚六点半到八点,我班组织了三保三促系列活动中《算法与数据结构》树、图专场的活动。本次活动由严林同学主讲。

在活动中,严林同学从简单的例题开始,逐步讲解了树、哈夫曼树、图论的一些基础知识,并做了一定程度上的拓展理论讲解。PPT、漫画和当场的手写代码的配合使得严林同学的讲解生动活泼、把难点的知识讲解得浅显易懂。

在活动中,同学们认真听讲、积极互动,在实践环节中认真编写代码。本次讲座后,同学们纷纷表示受益匪浅,并感谢严林同学的认真讲解。

同学们的感想:

班贺龙柱

之前我们算法与数据结构在学“树”这一章时,只是对Huffman树的形成有了粗略的了解和认识。但通过严林同学的分享,对Huffman树的代码实现有了更为深入的理解,真的非常感谢严林同学~

班司薏楠

严林同学的讲解深入浅出,活泼生动。在讲座中我弄明白了很多之前一知半解模棱两可的知识点。感谢严林同学的讲解!

班龚嘉毅

严林同学的讲座内容简明扼要,讲述生动有趣,编程经验丰富大青蛙现身说法,分享编程的经验,简化代码的方法,最后还有简单又不失趣味的小试题。讲座真好,下次还来!

本次讲解后,同学们都表示受益匪浅。很感谢严林同学为大家带来的精彩讲解!也祝愿同学们学业有成!

文案排版:徐天航

审核:刘海伦

预览时标签不可点收录于话题#个上一篇下一篇
TUhjnbcbe - 2020/12/2 18:18:00
堆的应用场景

堆(heap)又被为优先队列(priorityqueue)。尽管名为优先队列,但堆并不是队列。回忆一下,在队列中,我们可以进行的限定操作是dequeue和enqueue。dequeue是按照进入队列的先后顺序来取出元素。而在堆中,我们不是按照元素进入队列的先后顺序取出元素的,而是按照元素的优先级取出元素。

这就好像候机的时候,无论谁先到达候机厅,总是头等舱的乘客先登机,然后是商务舱的乘客,最后是经济舱的乘客。每个乘客都有头等舱、商务舱、经济舱三种个键值(key)中的一个。头等舱-商务舱-经济舱依次享有从高到低的优先级。

再比如,封建社会的等级制度,也是一个堆。在这个堆中,国王、贵族、骑士和农民是从高到低的优先级。

Linux内核中的调度器(scheduler)会按照各个进程的优先级来安排CPU执行哪一个进程。计算机中通常有多个进程,每个进程有不同的优先级(该优先级的计算会综合多个因素)。内核会找到优先级最高的进程,并执行。如果有优先级更高的进程被提交,那么调度器会转而安排该进程运行。优先级比较低的进程则会等待。“堆”是实现调度器的理想数据结构。

堆的一个经典的实现是完全二叉树(

1
查看完整版本: 算法与数据结构树amp图专场总结