- 博客(24)
- 收藏
- 关注
原创 图的顺序存储结构
存储方式的不同,指的是:在使用二维数组存储图中顶点之间的关系时,如果顶点之间存在边或弧,在相应位置用 1 表示,反之用 0 表示;如果使用二维数组存储网中顶点之间的关系,顶点之间如果有边或者弧的存在,在数组的相应位置存储其权值;二、使用数组存储图时,需要使用两个数组,一个数组存放图中顶点本身的数据(一维数组),另外一个数组用于存储各顶点之间的关系(二维数组)。例如,存储图 1 中的无向图(B)时,除了存储图中各顶点本身具有的数据外,还需要使用二维数组存储任意两个顶点之间的关系。//存储图中顶点数据。
2023-03-17 18:52:34
323
原创 什么是连通图,(强)连通图
例如图 1 中,虽然 V1 和 V3 没有直接关联,但从 V1 到 V3 存在两条路径,分别是 V1-V2-V3 和 V1-V4-V3,因此称 V1 和 V3 之间是连通的。由图中部分顶点和边构成的图为该图的一个子图,但这里的子图指的是图中"最大"的连通子图(也称"极大连通子图)与此同时,若有向图本身不是强连通图,但其包含的最大连通子图具有强连通图的性质,则称该子图为强连通分量。若无向图不是连通图,但图中存储某个子图符合连通图的性质,则称该子图为连通分量。
2023-03-17 18:23:25
2575
原创 二叉树的遍历
思路:使用队列,从根结点开始,依次将左、右孩子入队,而后每次队列中的一个结点出队都将在右孩子入队,直到所有结点都出队,出队顺序就是层次遍历结果。③、遍历完当前结点的左子数后,再进入当前它的右子树,以同样步骤遍历右子树中的结点。①、先进入当前结点左子树,以同样的步骤访问二叉树中的每个结点;②、进入当前结点的左子树,以同样的步骤遍历左子树中的结点。③、最后进入前结点的右子树,以同样的步骤遍历右子树中的结点。1.优先进入当前结点的左子树,以同样的步骤遍历左子树中的结点。即,每遇一个结点,先进行访问。
2023-03-10 17:01:22
272
原创 树:二叉树的存储结构
一、顺序存储二、链式存储一、顺序存储1、使用顺序表(数组)存储二叉树。注:只适用于完全二叉树/满二叉树,所以要将普通二叉树转换为完全二叉树。2、完全二叉树的存储,仅需从根结点开始,按层次依次将树中节点存储到数组。3、从顺序表中还原完全二叉树若节点i有孩子,则其左孩子为2i,右孩子节点为2i+l。二、链式存储1、从树的根节点开始,将各个节点及其左右孩子使用链表存储即可 。所以,链式存储二叉树,其节点结构由3部分组成①指向左孩子节点的指(Lch
2023-03-03 22:06:13
473
原创 树的存储结构一 (一些简单概念)
目录: 一、节点的度 二、树的深度 三、有序树 四、森林 五、二叉树 六、二叉树的性质 七、满二叉树一、结点的度:概念:拥有的子数树数。注:一棵树的度是树内各结点的度的最大值.二、树的深度: 一棵树的深度(高度)是树中结点所在的最大层次。三、有序树 有序数如果树中结点的子数从左到右看,谁在左边,谁在右边是有规定的,这棵树称为有序树;反之为无序树注:有序树
2023-02-25 20:51:57
344
原创 202年12月——2023年2月寒假假期总结
目录一、学习内容二、学习重点三、学习难点四、学习疑惑一、学习内容: 1、C语言数据结构与算法 2、英语单词 3、英语听力 4、复习c语言二、学习重点 寒假着重学习了数据结构与算法和英语。一方面,明白了,什么是程序,什么是数据结构,什么是算法,并了解了三者之间的关系——程序=数据结构+算法。还对数据结构与算法有了初步的了解。另外一方面则是重点学习英语。英语的学习主要集中在背单词和练听力。通过英语小短片磨耳朵来增强自己对英语的敏感性
2023-02-15 21:57:21
130
原创 算法基础及复杂度
目录算法定义算法的五个特点算法的评价标准算法复杂度一、算法定义:问题求解的步骤。二、算法的五个特点有穷性,确定性、可行性、输入、输出三、算法的评价标准正确定,高 效性、可读性、健壮性(有错误程序能不能稳定运行。四,算法复杂度( 也是评价标准)(1)时间复杂度:基本操作重复执行的次数,次数是问题规模n的某个函数:如o(1),o(n),0(r)等。O(n)与问题规模n是线性关系。(2)空间复杂度:运行时所需存储空间大小的度量,如:o(n)等①O(f(n)),
2022-11-16 21:50:13
117
原创 数据结构基础
目录基本概念逻辑结构存储结构一、基本概念(1)数据:客观事物的符号表,在计算机内,数据结构就是被计算机程序处理的符号总称(2)数据结构:具有一定关系的数据元素的集合(存储数据的二、逻辑结构2、数据结构可分为逻辑结构和存储结构(1)逻辑结构:集合:元素同属一个集合。线性结构:元素之间一对一。树型结构:元素之间一对多。图形结构:元素之间多对多三、存储结构实际存储元素的物理结构,分为顺储和链式存储两种。(1)顺序存储:地址连续。链式存储:地址不一定连续。
2022-11-16 21:40:07
180
原创 数据结构#栈和队列
目录:结构定义出队入队循环队列假溢出一、结构定义1.length=92、head=03.tail=4 (下标从零开始)4、data_type=xxx二、出队入队出队:①出去②变为头,head 变为1入队:tail由4变为5,其它不变head仍为1三、循环队列循环队列:尾部切加一,把1号房放到其中,加一的部分变为头部,即把最后一个放到头部 。四、假溢出1.length=a2、head=33、tail=84、data-type
2022-11-16 21:30:50
118
原创 数据结构#链表
目录一、链表结构及操作原则二、链表的操作一、链表结构及操作原则1、链表节点 有两部分:①数据 ②下一个节点的地址。2、操作链表节原则:在操作过后,链表中的所有节点都可以被直接或间接地访问,否则那部分链表就丢失内存泄露 造成内存泄露。二、链表的操作1、插入 :①用一个变量指向要插入位待节点的前一个节点。②待插入结点指向要插入的节点③先操待插入节点,再操作变量2.删除节点①先找到i-1个结点,用P指向 ②P→>Next=s→next②再用指针S指向要被删除
2022-11-16 21:19:44
115
原创 数据结构#顺序表
目录一、数据结构的定义二、顺序表三、结构操作一、数据结构的定义1、数据结构=结构定义+结构操作(定义某种数据并维护它)二、顺序表:顺序表:(第一重点)1①1②③④⑤] (任意类型)1、结构定义:①有一片连续的存储区②、顺序表的总大小size=a(能存储的元素个数)③、length=5(当前顺序表中一共存储了x几个元素)④、date-type=xx(顺序表中储存)的每一个元素的数据类型三、操作结构2、结构操作插入: void Insert (ElementTyp
2022-11-16 21:07:19
201
原创 指针与常量
目录const的表示方法转换const数组1、指针可以是const2、值可以是const(不能被修改)指针是const,表示,一旦得到了某个变量的地址,不能再指向其他变量 。如:int *const a=&i; //a是const*q=26;//OK*a++;//error一旦拥有了const表示不能通过这个指针去修改那个变量(并不能使那个变量成为const)例如:.const int*p=&i;·*p=26; //er
2022-10-25 19:19:48
59
原创 函数命名规则
基本要求类型命名基本要求:函数名也是标识符,规则也和变量一样,但也有些许变化,通常函数是用来处理数据或者执行某些操作,因此函数名要求用动词式动名词如:1、函数实现排序功能,可以用sort作为函数名 ,查找某个变量,可用用Find或Elen作为其名称.2、为避免重名,都有模板前缓加openCo提供图像处理的函数库中,多以cv开头。类型命名:type def :一般用在结构体或共用体的时候再使用typedof时要考虑该类型名的类型,化使用 Typeay aro e S /e.
2022-10-25 16:18:57
1172
原创 变量的命名规范
命名规则命名条件命名风格命名规则:让代码读起来接近自然语言,使其易懂,标识符是有效字符序列,用来标识自己定义的变量名,符号常量名,函数名,数组名、类型名等。命名条件1、名称简单,最好是单词或其缩写2、有意义,能通过名称反映其作用命名风格:1、Unix风格·将每个单词小写且用下划线"_"连接,如:int sys-runtime-status;2、Windows风格,即匈牙利命名法;变量名二属性+类int类型 型+对象描述。如:int SysRuntimestatusil
2022-10-25 16:02:19
484
原创 #指针变量
目录指针的定义表示形式指针变量*运算符指针的定义:指针是一个特殊的变量,存储的数值是内存里的一个地址。我们如果要明白指针,都必须要知道,当数据被载入内存时,所存储的地方就是数据的地址,"&"是获取变量地址的运算符,而指针是一个数据类型,与整形,字符型等相同,但指针是由整型,字符型等派生而来的。表示形式:int *p=&i;*表是示P是一个指针 ,*号可以靠近int,也可以靠近p如:int* p指针变量.变量的值是内存的地址·普通变量的
2022-10-25 15:45:38
83
原创 #字符数组
一、字符数组的定义二、字符数组的格式三、字符的输入与输出四、处理字符串的函数五、函数表示形式一、字符数组的定义用来存放字符数据的数组是字符数组。二、字符数组的格式char 数组名 [常量表达式],例如:char c [6];要注意的是,该数组的长度小于或等于五。因为数字字符数组后面还有一个“\0”,而且还要注意的是,在字符数组中空格也算一个字符除此之外,还有几种常见形式,如char str [6]={"CHINA"};char str [6]="CH
2022-10-14 22:31:45
206
原创 二维数组与字符数组
一、二维数组的格式二、初始化三、字符数组的定义四、字符数组的格式五,字符数组输入与输出中的注意事项。一、二维数组的格式类型说明符 数组名[表达式1][表达式二2] 如:float a[3][4],b[5][10]注意:1、一个方括号内只能有一个下标,不能 有多个。 2、元素的个数是常量,不能使用变量。如:int i=1;i=4 int a[i][j] 都是错误的示范。3、定义数组长度的长量是大于0的正数。
2022-09-21 21:59:50
633
原创 C语言中的一维数组
目录: 数组的定义和特点 一维数组的定义格式 一维数组的初始化 一维数组的引用一、数组的定义和特点1、数主的定义:一组具有相同数据类型的数据的有序集合。2、特点:数组具有相同的数据类型。注意:①下标代表数据在数据组中的序号。 如 A[0] 、A[1]、 A[2]②数据中每一个元素都属于同一个数据类型,不能把不同类型的数据放在同一数组中。③用一个数组名和下标来唯一确定数组中的元素。如A[8]代表下标为8的元
2022-09-16 21:59:07
1225
原创 if语句的使用
If语句的单分支结构 If语句的双分支结构 多分支结构 If语句嵌套三、多分支结构:表达形式:if(表达式1){语句块1}else if(表达式2){语句块2}else if………………else{语句块n}作用:用于多个条件进行判断从而进行多种不同的处理。If 的多分支结构其实就相当于多个单结构的if相加。四、if语句的嵌套表达形式:if(表达式1) If(表达式2) 语句1
2022-09-10 21:55:20
1780
原创 if语句的使用
目录: If语句的单分支结构 If语句的双分支结构 多分支结构 If语句嵌套一、If语句的单分支结构表达形式:if(表达式){语句块}注意:在单分支结构中,如果表达式为真,则执行语句块。如何判断一个数为正数?如:如果一个数大于0,那么这个数就是正数。if (a>o)A就是正数。二、双分支结构表达形式:if(表达式){语句块1}else{语句块2}
2022-09-10 21:09:38
110
原创 C语言的输入与输出
目录: 格式声明 基本的格式字符 附加的格式说明字符(输出)和(输入)一、格式声明: 格式声明的一般形式为百分号(%)的格式字符。二、基本的格式字符。 1、%d: 表示以带符号的十进制形式输入或输出整数。 eg: 输出时%5d表示输出数据占5列,输出时候右对齐。2、%c: 表示以字符形式输入或输出字符,并且只输入或输出一个字符。如:char ch1=‘a’; char
2022-09-04 17:07:56
2994
原创 运算符和表达式之逻辑和赋值
目录:逻辑符符号 逻辑运算符优先级 赋值的优先级 结合性 复合运算符一、逻辑运算符符号逻辑运算符符号一共有三种,分别为!、&&、||。其中!我们把“!”叫作逻辑非,“&&”我们叫做逻辑与,而“||”我们把它叫做逻辑或。 我们可以举一个例子,如int a=5;float b=3.5;!a0 (0) !(a<b) (1)...
2022-08-31 00:34:02
1890
原创 【无标题】常量与变量
一、常量:1、定义:常量就是可以直接书写的常量,程序运行过程中不能改变的量。 2、 常量又分为整数常量,浮点数常量和字符常量。 十进制:写法和我们平常写 数学时的一样,如101、20①整数常量:八进制: 八进制的数字只有 0到7,而没有8和9、这点 需要格外注意哦,此外,
2022-08-24 23:36:50
701
原创 数据类型之基本类型
数据类型共分为四大类,分别为1、基本类型 2、空类型 3、指针类型 4、构造类型一、基本类型:基本类型又分为三种,分别为整形类型、字符类型和浮点类型。1、整形类型:①整形(int),占4个字节,取值范围-2∧31~2∧31-1②无符号整形(unsigned),占4个字节,取值范围0~2∧32-1③短整形(short),占2个字节,取值范围-2∧15~2∧15-1④无符号短整型(unsigned short),占两个字节,取值范围,0~2∧16-1⑤长整型(long),占
2022-08-19 22:13:40
5498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人