datastruct-note06 图https://www.dotcpp.com/course/145图的定义 一个图G是一个二元组,即序偶<V,E>,或记作G=<V,E> ,其中V是有限非空集合,称为G的顶点集,V中的元素称为顶点或结点;E称为G的边的集合,所有的边ei都属于E,都有v中的结点与之对应,称ei为G的边。 图的基本常识 弧头和弧尾 有向图中,无箭头一端的顶点通常被称为”初始点”或”弧尾”,箭 2021-12-10
datastruct-note05 树树的定义:n个节点组成的有限集合。n=0,空树;n>0,1个根节点,m个互不相交的有限集,每个子集为根的子树。 树的基本术语 节点的度:树中某个节点的子树的个数。 树的度:树中各节点的度的最大值。 树根结点(简称“根结点”):每一个非空树都有且只有一个被称为根的结点。 分支节点:度不为零的节点。 叶子节点:度为零的节点。 路径:i->j;路径长度:路径经过节点数目减1。 孩子节点:某 2021-12-10
datastruct-note04 数组和广义表由于数组可以是多维的,而顺序存储结构是一维的,因此数组中数据的存储要制定一个先后次序。通常,数组中数据的存储有两种先后存储方式: 以列序为主(先列后行):按照行号从小到大的顺序,依次存储每一列的元素以行序为主(先行后序):按照列号从小到大的顺序,依次存储每一行的元素。 多维数组查找指定元素 当需要在顺序存储的多维数组中查找某个指定元素时,需知道以下信息: 多维数组的存储方式;多维数组在 2021-12-10
datastruct-note03 栈和队列和串栈是一种只能从表的一端存取数据且遵循 “先进后出” 原则的线性存储结构。 通常,栈的开口端被称为栈顶;相应地,封口端被称为栈底。 将链表头部作为栈顶的一端,可以避免在实现数据 “入栈” 和 “出栈” 操作时做大量遍历链表的耗时操作。 链表的头部作为栈顶,意味着:在实现数据”入栈”操作时,需要将数据从链表的头部插入;在实现数据”出栈”操作时,需要删除链表头部的首元节点; 因此,链栈实际上 2021-12-10
datastruct-note02 线性表将数据依次存储在连续的整块物理空间中,这种存储结构称为顺序存储结构(简称顺序表);数据分散的存储在物理空间中,通过一根线保存着它们之间的逻辑关系,这种存储结构称为链式存储结构(简称链表); 也就是说,线性表存储结构可细分为顺序存储结构和链式存储结构。 某一元素的左侧相邻元素称为“直接前驱”,位于此元素左侧的所有元素都统称为“前驱元素”;某一元素的右侧相邻元素称为“直接后继”,位于此元素右侧的 2021-12-10
datastruct-note01 数据结构基础算法的特性 (1) 输入输出 (2) 确定性 (3)有穷性 (4)可行性 算法设计要求 (1) 正确性 (2)健壮性 (3)可读性 (4)耗时低,占用空间少 基本概念和术语 (1)数据 数据(Data)是信息的载体,是可以被计算机识别,存储并加工处理的描述客观事物的信息符号的总称。数据不仅仅包括了整形,浮点数等数值类型,还包括了字符甚至声音,视频,图像等非数值的类型。 (2)数据元素 2021-12-10
C09-others C错误处理在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。在 errno.h 头文件中可以找到各种各样的错误代码。在程序初始化时,把 errno 设置为 0,0 值表示程序中没有错误,这是一种良好的编程习惯。 errno、perror() 和 strerror()C 语言提供了 per 2021-12-10
C08-files C文件读写打开文件使用 <stdio.h> 头文件中的 fopen() 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型: FILE *fopen(char *filename, char *mode); filename为文件名(包括文件路径),mode为访问模式,它们 2021-12-10
C07-typedef-preprocessor C typedef使用关键字 typedef 可以为类型起一个新的别名。typedef 的用法一般为:typedef oldName newName; oldName 是类型原来的名字,newName 是类型新的名字。例如: 1234typedef int INTEGER;INTEGER a, b;a = 1;b = 2; INTEGER a, b;等效于int a, b;。 typedef 2021-12-10
C06-struct-union-bitfield C结构体在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。 定义结构struct 语句的格式如下: 123456struct tag { member-list member-list member-list 2021-12-10