七.(1)堆排序--前传

目录

七.(1)堆排序--前传

20-堆排序前传-树的基础知识

根节点

叶子节点

树的深度(高度)

树的 度

孩子节点/父亲节点

子树

21.堆排序前传-二叉树的基础知识

二叉树的存储方式:

22-堆排序前传-堆和堆的向下调整

什么是堆?

堆的向下调整性质

23-堆排序的过程演示


七.(1)堆排序--前传

20-堆排序前传-树的基础知识

根节点

A

叶子节点

下面没有分叉的都是.BCIKLMNPQ

树的深度(高度)

有几层.

A有4层.

树的 度

分了几个叉.

F分了三个叉

孩子节点/父亲节点

E是I的父节点,I是E的子节点.

子树

把一颗大数的一根树枝掰下来,此树枝可能会包含很多分叉.

EIJPQ


21.堆排序前传-二叉树的基础知识

二叉树的存储方式:

链式存储方式

顺序存储方式


22-堆排序前传-堆和堆的向下调整

什么是堆?

堆的向下调整性质

假设根节点的左右子树都是堆,但根节点不满足堆的性质.

可以通过一次向下的调整来将其变成一个堆.

(大的领导小的)


23-堆排序的过程演示

1.建立堆。

2.得到堆顶元素,为最大元素

3.去掉堆顶,将堆最后一个元素放到堆顶,此时可通过一次调整重新使堆有序。

4.堆顶元素为第二大元素。

5.重复步骤3,直到堆变空。

整个堆排好之后, 挨个出数. 9最大,下来.

然后拿最后的一个元素放上去.

递归.

拿下最上面的.

递归.

...

构造堆:

--农村包围城市,从最后的村开始.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android Preference简单介绍

Android Preference简单介绍 文章目录 Android Preference简单介绍一、前言二、Preference 简单介绍二、PreferenceScreen和SwitchPreference 简单示例2、相关demo代码示例(1)SettingsActivity.Java(2)layout\settings_activity.x…

redis复习笔记07(小滴课堂)

在线教育-天热销视频榜单实战-List数据结构设计 我们先随机获取整个列表的内容。 我们模拟一个去添加数据的接口: 运行: 我们可以看到这里的数据。 我们现在启动我们的应用和controller: 就可以查到我们的数据了。 我们进行人工操作位&…

基于unbantu的nginx的配置

目录 前言: 1.安装nginx并进行测试 1.1使用nginx -v 命令查看版本 1.2开启服务 查看端口 1.3测试 2.nginx的静态资源访问配置 2.1创建静态资源存放的目录 2.2写入目录中测试文件对应的内容 2.3修改配置文件 2.4 测试 3.虚拟主机配置 3.1创建目录 3.2写入测试…

PPP MP配置

一.添加接口 每个路由器中添加2SA接口 二.配置IP地址 1.在r2和r3上创建MP [r2]int Mp-group 0/0/0 [r2-Mp-group0/0/0] [r3]int Mp-group 0/0/0 [r3-Mp-group0/0/0] 2.把1中上的接口加入上一步创建的MP [R2]int Serial 3/0/1 [R2-Serial3/0/1]ppp mp Mp-group 0/0/0 [R2]i…

Learn OpenGL 24 点光源阴影

点光源阴影 上个教程我们学到了如何使用阴影映射技术创建动态阴影。效果不错,但它只适合定向光,因为阴影只是在单一定向光源下生成的。所以它也叫定向阴影映射,深度(阴影)贴图生成自定向光的视角。 本节我们的焦点是…

整数和浮点数分别在内存中的存储

目录 一、整数在内存中的存储二、浮点数在内存中的存储2.1存储2.2取2.2.1 E不全为0或者不全为12.2.2 E全为02.2.3 E全为1 三、题目解析 一、整数在内存中的存储 对于整形来说:数据存放内存中其实存放的是补码。 原因在于,使用补码,可以将符号…

Redis 6和7:探索新版本中的新特性

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! Redis,作为开源的内存数据结构存储系统,以其高性能、丰富的数据结构和广泛的应用场景而深受开发者喜爱。随…

面试题:Java中的类加载器

1. 什么是类加载器,类加载器有哪些? 要想理解类加载器的话,务必要先清楚对于一个Java文件,它从编译到执行的整个过程。 类加载器:用于装载字节码文件(.class文件)运行时数据区:用于分配存储空间执行引擎:…

Zabbix学习(二)

上一篇文章中,我们搭建完了zabbix服务端和客户端,这一章介绍下具体的使用,下面先介绍几个概念。 主机:要监控的主机监控项:你要监控cpu还是内存触发器:当cpu使用率超过多少报警动作:cpu报警了&…

Python安装手册

Python安装手册 一、基本说明二、版本对比三、Python解析器 一、基本说明 Python是一种跨平台的计算机程序设计语⾔。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语⾔。 最初被设计用于编写⾃动化脚本Shell(适用于Linux操作系统)&am…

设计模式|工厂模式

文章目录 1. 工厂模式的三种实现2. 简单工厂模式和工厂方法模式示例3. 抽象工厂模式示例4. 工厂模式与多态的关系5. 工程模式与策略模式的关系6. 面试中可能遇到的问题6.1 **工厂模式的概念是什么?**6.2 **工厂模式解决了什么问题?**6.3 **工厂模式的优点…

【Objective -- C】—— GCD(1)(Grand Central Dispatch)

【Objective -- C】—— GCD(1)(Grand Central Dispatch) GCD1. 什么是GCD2.多线程编程线程多线程的理解多线程的优点 3.任务和队列任务同步执行和异步执行 队列串行队列和并发队列 GCD的API1.Dispatch QueueDispatch Queue的分类…

客户管理系统功能大揭秘!助您了解其核心作用!

早在2019年,中国已经快速迈向服务经济时代 客户管理一直是各行业管理者关心的话题,在数字化时代,如何做好客户管理?很多人说可以尝试客户管理系统,那么今天大家就一窥客户管理系统的庐山真面目。 一、什么是客户管理系…

复试编程练习题(from 牛客网)

考试时候可能没有VS,但codeblocks是必备的。 下面总结一些常用的快捷键。 CtrlEnter:光标移至行尾ShiftEnter:光标跳到下一行CtrlD:直接复制粘贴当前行CtrlL:删除当前行F9:buildrun。CtrlShiftC:注释掉当…

网络安全实训Day9

写在前面 访问控制和防火墙桌面端安全检测与防御 网络安全实训-网络安全技术 网络安全概述 访问控制 定义:通过定义策略和规则来限制哪些流量能经过防火墙,哪些流量不能通过。本质是包过滤 可以匹配的元素 IP协议版本 源区域和目的区域 源IP地址和目…

【C++那些事儿】C++模板编程入门:构建可重用组件的利器

📷 江池俊:个人主页 🔥 个人专栏:✅C那些事儿 ✅Linux技术宝典 🌅 此去关山万里,定不负云起之望 文章目录 1. 泛型编程2. 函数模板2.1 函数模板概念2.1 函数模板格式2.3 函数模板的原理2.4 函数模板的实…

基于python+vue成都旅游网flask-django-php-nodejs

本篇论文对成都旅游网的需求分析、功能设计、系统设计进行了较为详尽的阐述,并对系统的整体设计进行了阐述,并对各功能的实现和主要功能进行了说明,并附上了相应的操作界面图。 语言:Python 框架:django/flask 软件版本…

select , poll, epoll思维导图

目录 1. 总的框架结构 2. select 3. poll 4. epoll 1. 总的框架结构 2. select

【C语言】自定义类型

1、内存对齐(必考) 1.1结构体内存对齐 结构体的对齐规则: 1. 第一个成员在与结构体变量偏移量为0的地址处。 2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数 编译器默认的一个对齐数 与 该成员大…

为什么算法渐进复杂度中对数的底数总为2

在分析各种算法时,经常看到(O(\log_2n))或(O(n\log_2n))这样的渐进复杂度。不知有没有同学困惑过,为什么算法的渐进复杂度中的对数都是以2为底?为什么没有见过(O(n\log_3n))这样的渐进复杂度?本文解释这个问题。 三分式归并排序的…