第九周学习

20162310林臻 《程序设计与数据结构》第九周学习总结

教材学习内容总结

  • 堆的学习及其方法的应用
  • 堆排序利用堆的基本特征对一组元素进行排序

    教材学习中的问题和解决过程

  • 问题1:堆和二叉树有什么区别呢
  • 问题1解决方案:
  • 1、堆是一个完全二叉树,并且每个结点的值都大于或等于其左右孩子结点的值,具有n个结点的堆,其深度即为堆所对应的完全二叉树的深度log(n).
  • 2、在二叉排序树中,某结点的右孩子结点的值一定大于该结点的左孩子结点的值;在堆中却不一定,堆只是限定了某结点的值大于(或小于)其左右孩子结点的值,但没有限定左右孩子结点之间的大小关系。
  • 3、 在二叉排序树中,最小值结点是最左下结点,其左指针为空;最大值结点是最右下结点,其右指针为空。在大根堆中,最小值结点位于某个叶子结点,而最大值结点是大根堆的堆顶(即根结点)。
  • 4、二叉排序树是为了实现动态查找而设计的数据结构,它是面向查找操作的,在二叉排序树中查找一个结点的平均时间复杂度是O(log n);堆是为了实现排序而设计的一种数据结构,它不是面向查找操作的,因而在堆中查找一个结点需要进行遍历,其平均时间复杂度是O(n)。

  • 问题2:优先队列的原理以及实现
  • 问题2解决方案:网络上查找到了很详细的信息,博客链接
    1064024-20171105170639263-704767017.png
    1064024-20171105170745060-1400381667.png

代码托管

上周考试错题总结

  • 1、虽然所有节点在完全相同的层次上的树是平衡的,但并不是所有的平衡树都具有这个属性。 所以选择A并不是最好的答案。 选项D是最好的答案,因为它正确地定义了一棵平衡树
    1064024-20171105171559685-28199133.png

  • 2、完整的二叉树正好有2n个叶子,因为每个叶子都在相同的高度,每个内部节点恰好有2个孩子
    1064024-20171105171623123-1960560922.png

  • 3、水平顺序遍历按照距离根的距离顺序访问树的元素。
    1064024-20171105171843748-1505998023.png

  • 4、后序遍历访问右侧子树,然后访问左侧子树,然后访问根。 所以,根始终是最后一个被访问的元素。
    1064024-20171105171941248-967097270.png

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2001/120/20
第二周200/2001/120/20
第三周200/2001/122/22
第四周1000/10001/130/30
第五周1000/10001/122/22
第六周1000/10001/130/30
第七周1000/10001/120/20
第八周1000/10001/120/20
第九周1000/10001/120/20

转载于:https://www.cnblogs.com/shuailinzhen/p/7787949.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux kernel同步机制

在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问,尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享…

linux 文件系统 簇 浪费空间,Linux rm -rf删除文件不释放空间的解决办法

前几天发现在Linux系统下有一个很大的无用文件,于是用rm -rf 删除,然后用df -h查看磁盘空间,发现即使文件被删除了,但文件所占用的空间并未释放,十分疑惑,于是在网上找到了解决方案,即使用lsof …

[Diary]6.10

一大早回闵行,继续奋斗论文。我真是个小巫,不停的自言自语。

linux 特定用户ssh,linux - 如何在登录后将SSH用户限制为一组预定义的命令?

你为什么不写自己的login-shell? 为此使用Bash会非常简单,但您可以使用任何语言。Bash中的示例使用您喜欢的编辑器创建文件;(这可以是任何名称或路径,但应该是&和&&):#!/bin/bashcommands("man" "pwd&…

水晶报表的推模式

在一个多层结构中,水晶报表的使用往往比较繁琐:1、在项目中添加数据集,形成xsd文件2、利用xsd文件,在水晶报表环境中生成报表3、回到.net,添加rpt文件这样做的坏处除了繁琐,就是在UI层直接要访问数据库&…

关于sql和MySQL的语句执行顺序(必看!!!)

ql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。 一、sql执行顺序 (1)from (3) join (2) on (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用)(6) avg,sum.... (7)having (8) select (9) distinct (10) orde…

fedora linux命令,Fedora Linux的一些常用设置和常用命令

1.设置常用路径跳转:alias ubootcd /opt/U-boot-2009.11_tekkaman/U-boot-2009.11_tekkaman/2.samba服务重启命令在更改ip后,或修改samba配置文件后,如果没有重启服务,所作的修改实际上是不会生效的重启网络服务的命令是service network rest…

10大黑客专用的 Linux 操作系统,你了解哪些?

今天列出一些最常用、最受欢迎的Linux发行版来学习黑客和渗透测试。1. Kali LinuxKali Linux是最著名的Linux发行版,用于道德黑客和渗透测试。Kali Linux由Offensive Security开发,之前由BackTrack开发。Kali Linux基于Debian。它带有来自安全和取证各个…

【windows phone】CollectionViewSource的妙用

在windows phone中绑定集合数据的时候,有时候需要分层数据,通常需要以主从试图形式显示。通常的方法是将第二个ListBox(主视图)的数据源绑定到第一个ListBox (从视图)的SelectedItem,或者通过第…

ftp linux包,图文详解Ubuntu搭建Ftp服务器的方法(包成功)

一、今天下午由于课程的要求不得已做了Ubuntu搭建Ftp服务器的实验,但是实验指导书还是N年前的技术,网上搜了一大把,都是模模糊糊的!在百般困难中终于试验成功,特把经验分给大家 希望大家少走弯路!二、详细步…

产品狗,工作三年,转行AI应该怎样规划?

作为AI 初学者来说,最大的问题就是:资料太多!!!看不完!!!不知道如何取舍!!!人的精力有限!!!大部分想转行AI算法…

业务系统里面常见的方法接口设计

在程序中用得最多的还是方法,在处理业务的系统中如何设计方法是一个很重要的问题。很多系统由于缺乏统一的约定而导致维护困难。本文主要介绍的是偶在平常的开发中总结出来的一些方法设计的思路。希望大家不嫌弃。 1. 简单的方法 void DoSth(args) { // …

linux python 信号,Python模块之信号(signal)

在了解了Linux的信号基础之 后,Python标准库中的signal包就很容易学习和理解。signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂 停并等待信号,以及定时发出SIGALRM等。要注意,signal包主要是…

你为什么喜欢VIM?

昨天看到的一个讨论,说vim有没有那么必要?所以写了这篇文章,在评论区说出你的观点,当然说出你的观点的时候,你拿不到一百万,也得不到小红花,但也是因为你的评论,我可能会开心一整天。…

新世纪篇章

团队blog开通http://www.cnblogs.com/team/solartimes.html还没弄明白怎么搞。。。一阵研究solartimes成员,快来注册。。。 转载于:https://www.cnblogs.com/konimeter/archive/2005/09/19/239671.html

RTT大牛告诉你,混合微内核是什么?

RT-Thread之前写过好几篇文章介绍微内核,然而不少开发者依然不清楚到底微内核操作系统是什么。为此,我们特别整理了5期快问快答,来为大家答疑解惑!RT-Thread Smart称作是混合微内核操作系统,为什么叫混合微内核操作系统…

linux操作指令及根目录介绍

1. 查看当做操作目录位置 > pwd 2. 查看(当前)目录里边的文件内容 > ls //list > ls -l 或ll //显示文件的详细信息 > ls -al //all显示文件的详细信息(包括隐藏文件) > ls -a //显示目录全部文件名字(包括隐藏文件) > ls [-al] 目录 //查看指定目录的文件信…

计算机linux运维日记,计算机的运维系统情况

其实,对于计算机的主要部件来说,计算机是有硬件和软件组成的,并且能够通过硬件和软件的协同工作完成了的,而对于一些计算机的硬件,则是由一些不同的部件进行完成的,那么其中主要的补间就是内存,…

Linux ALSA 图解

最近在解决一个音频的问题,所以正好借这个机会来把音频的东西重新梳理一下,总结是一个很好的习惯,能方便自以后遇到问题快速排查问题。平台「MT8167」内核版本「kernel 4.4」音频读数据函数流程tinyalsa调用读取函数IOCTL调用流程读取数据到应…