6.3 遍历二叉树和线索二叉树
技术博客

6.3 遍历二叉树和线索二叉树

13899 64

01遍历二叉树1、在二叉树的一些应用中,常常要求在树中查找具有某种特征的结点,或者对树中全部结点逐一进行某种处理。2、遍历二叉树:即如何按某条搜索路径巡防树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。3、先序遍历二叉树的操作定义为:若二叉树为空,则空操作,否则(1)访问根结点。(2)先序遍历左子树。(3)先序遍历右子树。4、中序遍历二叉树的操作定义为:若二叉树为空,...

7.5 有向无环图
技术博客

7.5 有向无环图

21409 29

01有向无环图1、一个无环的有向图称做有向无环图(directed acycline graph),简称DAG图,DAG图是一类较有向树更一般的特殊有向图。2、有向无环图是描述含有公共子式的表达式的有效工具。3、若利用有向无环图,则可实现对相同子式的共享,从而节省存储空间。4、检查一个有向图是否存在环要比无向图复杂。对于无向图来说,若深度优先遍历过程中遇到回边,则必定存在环,而...

11.4 置换-选择排序
技术博客

11.4 置换-选择排序

14614 13

01置换-选择排序1、归并的趟数不仅和k成反比,也和m成正比,因此,减少m是减少s的另一种途径。2、内排方法是在内排过程中移动记录和对关键字进行比较都是在内存中进行的。3、置换-选择排序(Replacement-Selection Sorting)是在树形选择排序的基础上得来的,它的特点是:在整个排序(得到所有初始归并段)的过程中,选择最小(或最大)关键字和输入、输出交叉或平行...

【C++】算法集锦(3):回溯,从入门到入土,七道试题精选、精讲、精练
技术博客

【C++】算法集锦(3):回溯,从入门到入土,七道试题精选、精讲、精练

16313 36

文章目录 前言递归N叉树的遍历节点设计N叉树的前序遍历后序遍历层序遍历 回溯例题精讲岛屿最大面积思路代码实现 八皇后问题思路代码实现 括号生成思路代码实现 全排列思路代码实现再说两句 解回溯题的一般步骤电话号码的字母组合思路代码实现 子集思路代码实现 前言 回溯算法,之前也是写过的,感觉还不错。但是之前分成两篇写了,现在重新整理一下,顺便...

【C++】算法集锦(2):递归精讲
技术博客

【C++】算法集锦(2):递归精讲

17332 32

文章目录 前言从“楼梯事件”说起解决方案自下而上记忆化 代码实现 递归的解题步骤递归精练1、打印杨辉三角的第k行代码实现: 2、合并两个有序链表代码实现: 3、快速排序双边遍历单边遍历双边循环代码实现2、单边循环代码实现 前言 之前是写过一篇“递归”的博客,但是感觉有点水,例题没有给到位,细节也没有点明白,所以今天再写一遍,前面那篇就删了...

C语言 | 猴子吃桃问题
技术博客

C语言 | 猴子吃桃问题

13898 56

例58:猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第10天早上想再吃时,就只剩下一个桃子了。C语言编程求第1天共摘了多少个桃子。 解析思路:读者看着道题的时候,可以先用数学的方法在纸上写一遍,就和解方程那样,设未知数,求出第一天的桃子,然后转换代码思维...

4.4 C++continue语句 | 求100-200之间的素数
技术博客

4.4 C++continue语句 | 求100-200之间的素数

15411 62

C++continue语句读者在学习C语言的时候应该知道,continue的作用式结束本次循环,白话就是跳出循环体中还没有执行的语句,接着执行下一次是否执行循环体中语句的判断。continue语句的一般格式为continue;看到这里,相比读者会有一个疑惑,上一节学的break语句和今天的continue语句有什么区别呢?continue语句只是结束本次循环,而不是结束整个循环...

云图说 | 第204期 初识华为云数据库GaussDB(for openGauss),新一代企业级分布式数据库
技术博客

云图说 | 第204期 初识华为云数据库GaussDB(for openGauss),新一代企业级分布式数据库

21403 29

GaussDB(for openGauss)是华为基于openGauss自研生态推出的企业级分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务强一致,同城跨AZ部署,数据0丢失,支持1000+的计算节点扩展能力,4PB海量存储。能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。

【vim】你的背包里,缺不缺一份vim简明教程嘞?
技术博客

【vim】你的背包里,缺不缺一份vim简明教程嘞?

18488 55

最近搞redis配置文件,无奈vim技术太差,甚恼。 文章目录 Vim键位表命令模式底线命令模式打开、保存、关闭文件插入文本或行删除、恢复字符或行搜索跳至指定行设置行号复制、粘贴替换 块操作输入模式简图一张 Vim键位表 命令模式 用户刚刚启动 vi/vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。 ...

4.2 C++循环嵌套 | 常见的嵌套
技术博客

4.2 C++循环嵌套 | 常见的嵌套

13247 32

C++循环的嵌套循环的嵌套就是,一个循环体内又包含了另一个完整的循环结构;内嵌的循环中还可以嵌套循环,这就是多层循环。在C++中,while循环、do while循环、for循环都可以互相嵌套,例如以下几种while语句嵌套while语句while() { …… while() { …… } } do while语句嵌套do while语句do { …… ...

4.3 C++break语句 | 求斐波那契数列
技术博客

4.3 C++break语句 | 求斐波那契数列

14606 19

C++break语句在C语言中,程序员可以使用break语句使流程跳出switch语句,继续执行switch语句之后的语句,而且break语句还可以用于循环体内,在C++中同样如此。break语句的一般形式为break; break语句主要作用为使流程从循环体内跳出循环体,意在提前结束循环,继续执行循环体后的语句。break语句只能用于循环语句和switch语句内,不能单独使用...

构建万物可信的基石: 解密区块链跨链技术
技术博客

构建万物可信的基石: 解密区块链跨链技术

17314 14

1.区块链跨链技术诞生背景及发展历程1.1 什么是跨链?区块链技术经过10来年演进,已经被认为是可以参与未来可信社会构建的重要基础设施。但是现实的社会中包括许多行业和不同的经济领域。把整个现实世界中的各个行业都套用区块链是不现实的,也是不合适的。不同行业、不同经济领域的商品可以通过市场实现价值交换。每个区块链系统都是一个独立的价值经济体系。区块链跨链技术是连接独立区块链的枢纽,承载着不同价值...

6.5 C++一维数组 | 一维数组输出1-10
技术博客

6.5 C++一维数组 | 一维数组输出1-10

19817 32

C++数组介绍数组是有序数据的集合。要寻找一个数组中的某一个元素必须给出两个要素,即数组名和下标,数组名和下标惟一地标识一个数组中的一个元素。数组是有类型属性的,同一数组中的每一个元素都 必须属于同一数据类型,一个数组在内存中占一片连续的存储单元。C++一维数组的定义C++中定义一维数组的一般格式:类型标识符 数组名[常量表达式] 例如:int array[20]; 表示数组名...

1.2 基本概念和术语
技术博客

1.2 基本概念和术语

15395 32

01基本概念 1、数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的程序。2、数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。3、数据对象:是性质相同的数据元素的集合,是数据的一个子集。4、数据结构:是相互之间存在一种或多种特定关系的数据元素的集合(1)集合:结构中的数据元素之间除了“同属于一个集合”的关系之...

1.3 抽象数据类型的表示
技术博客

1.3 抽象数据类型的表示

16293 17

01简要说明1、预定义常量和类型//函数结果状态代码#define TRUE 1#define FALSWE  0#define OK 0……2、数据结构的表示(存储结构)用类型定义(typedef)描述。3、基本操作的算法都用以下形式的函数描述:函数类型 函数名(函数参数名){ //算法说明 语句序列} //函数名4、赋值语句简单赋值 变量名=表达式串联赋值 变量名1=变量名...

C语言 | 最大公约数与最小公倍数
技术博客

C语言 | 最大公约数与最小公倍数

14596 54

例45:C语言编程实现求两个数的最大公约数和最小公倍数解题思路:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个;最小公倍数是指两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。最小公倍数=两整数的乘积÷最大公约数 , 所以怎么求最大公约数是关键。源代码演示:#include<stdio.h>//头文...

CentOS 三分钟快速安装MySQL
技术博客

CentOS 三分钟快速安装MySQL

15393 13

文章目录 前言安装步骤操作演示 前言 最近重装了centos系统,这不马上就要用到MySQL,于是安装了一下。 刚开始的时候,我也慌得一批,因为以前在Linux上配环境那可谓一波多少折都不知道。 昨天重装redis的时候,有我自己的博客强力支持,所以没垮。今天这个MySQL,安装完我得赶紧纪录一下,不知道下次再安装时什么时候。 安装步骤...

7.7 C++定义指针变量 | 使用指针变量
技术博客

7.7 C++定义指针变量 | 使用指针变量

15388 17

C++指针变量的定义C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型。//定义整型变量 int i,j; //定义指针变量 int *point_num; 上述定义的指针变量point_num是指向整型数据的指针变量,也就是说,指针变量pointer_num只能用来指向整型数据,而 不能指向浮点型变量或字符型...

6.4 C++条件编译 | 条件编译
技术博客

6.4 C++条件编译 | 条件编译

19807 9

C++条件编译在C++中,在进行编译时对源程序中的每一行都要编译,但是有时希望程序中某一部分内容只在满 足一定条件时才进行编译,也就是指定对程序中的 一部分内容进行编译的条件,如果不满足这个条 件,就不编译这部分内容,这就是条件编译。条件编译命令常用的有以下形式:#ifdef 标识符 程序段1 #else 程序段2 #endif 上述条件编译的作用是当所指定的标识符已经被#...

C语言 | 找出1000以内的所有完数
技术博客

C语言 | 找出1000以内的所有完数

21369 37

例55:一个数如果恰好等于它的因子之和,这个数就称为完数,C语言编程找出1000之内的所有完数,并输出其因子。 解题思路:6的因子为1,2,3,而6=1+2+3,因此6是“完数”,1不用判断,直接从2开始,因为1的因子只有1源代码演示:#include<stdio.h>//头文件 int main()//主函数 { int number,s,i;//定义变量 fo...

python基础语法学习笔记
技术博客

python基础语法学习笔记

12644 24

python基础语法部分 一、程序的基本格式1.1 缩进1.2 大小写1.3 注释1.4 行连接符及【;】的使用4.转义字符 二、程序的构成2.1 对象2.2 标识符2.3 变量(变量作用域:全局变量、局部变量详见扩充部分)2.5 程序的输入与输出 三、基本数据类型3.1 布尔型(bool)1.布尔值的创建2.布尔值的运算 3.2 数字型1.整数型(int)2....

7.6 C++变量与指针 | 用string复制
技术博客

7.6 C++变量与指针 | 用string复制

18452 60

C++什么是指针在C++代码中一般是通过变量名来对内存单元进行存取操作的,程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的。按变量地址存取变量值的方式称为直接存取方式,或直接访问方式。在C++中,还可以采用另一种称为间接存取的方式,可以在程序中定义这样一种特殊的变量,专门用来存放地址,由于通过地址能找到所需的变量单元,因此可以说,地址指向该变量单元...

11.1 外存信息的存取
技术博客

11.1 外存信息的存取

21356 45

01外部排序1、外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,在排序过程中需进行多次的内、外存之间的交换。02外存信息的存取1、计算机一般有两种存储器:内存储器(主存)和外存储器(辅存)。2、内存的信息可随机存取,且存取速度快,但价格贵、容量小。3、外存储器包括磁带和磁盘(或磁鼓),前者为顺序存取的设备,后者为随机存取的设备。4、磁带信息的存取:磁带是薄薄涂上一层...

7.6 C语言内部函数和外部函数
技术博客

7.6 C语言内部函数和外部函数

21354 2

01关于变量的声明和定义1、一个函数一般由两部分组成:声明部分和执行语句。2、对变量而言,声明与定义的关系稍微复杂一些。在声明部分出现的变量有两种情况:一种是需要建立存储空间的,另一种是不需要建立存储空间的。前者称为定义性声明,简称定义;后者称为引用性声明。3、一般为了叙述方便,把建立存储空间的声明称定义,而把不需要建立存储空间的声明称为声明。4、在函数中出现的对变量的声明(除...

1.1 认识数据结构
技术博客

1.1 认识数据结构

12641 15

01什么是数据结构1、用计算机解决一个具体问题时,大致需要经过以下步骤,首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序,进行测试,直至得出答案。2、寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。3、数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系...

5.6 m元多项式的表示
技术博客

5.6 m元多项式的表示

13864 27

01m元多项式1、在一般情况下使用的广义表多数既非是递归表,也不为其他表所共享。2、对广义表可以这样来理解,广义表中的一个数据元素可以是另一个广义表。3、一个一元多项式可以用一个长度为m且每个数据元素有两个数据项的线性表来表示。4、一个m元多项式的每一项,最多有m个变元。如果用线性表来表示,则每个数据元素需要m+1个数据项,以存储一个系数值和m个指数值。5、任何一个m元多项式都...

C语言 | 最大公约数与最小公倍数
技术博客

C语言 | 最大公约数与最小公倍数

14577 46

例45:C语音编程实现求两个数的最大公约数和最小公倍数解题思路:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个;最小公倍数是指两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。最小公倍数=两整数的乘积÷最大公约数 , 所以怎么求最大公约数是关键。源代码演示:#include<stdio.h>//头文...

为实习准备的数据结构(10)-- 哈希散列表
技术博客

为实习准备的数据结构(10)-- 哈希散列表

13858 29

文章目录 哈希散列表小故事加载因子哈希函数的安全我的困惑 资料 哈希散列表 需要我说一下什么是哈希表吗?上面那张图可以先看一下,然后我搬一段官方话过来。 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数...

从零开始,搭建一个自己的神经网络
技术博客

从零开始,搭建一个自己的神经网络

17278 10

还记得我们上次讲到识别图片的神经网络吗?上次我们借助TensorFlow来完成了对图片的识别,对神经网络的工作原理也有所了解了,那么我们今天来尝试一下,从零开始,自己搭建一个简单的神经网络如何? ok,如果你的回答是"好",那我们就继续往下看,如果你的回答是"不好",那我们今天到这里就结束了。 回答"好"的同学,那我们就开始往下看了: ...