03 2022 档案

摘要:一、广义表 广义表(有称Lists):是n>=个元素 a0,a1,an-1的有序列,其中每一个ai或者是原子,或者是一个广义表。广义表中的元素没有定义是否为同种元素。 广义表通常记作:LS = (a1,a2,... ,an) 其中: LS为表名, n为表长度, 每一个ai为表的元素 习惯上,一般用大 阅读全文
posted @ 2022-03-30 17:53 铜须的编程生活 阅读(204) 评论(0) 推荐(0) 编辑
摘要:一、数组 数组:按一定格式排列起来的具有相同类型的数据元素集合。 一维数组:若线性表中的数据元素为非结构的简单元素,则称为一维数组 一维数组的逻辑结构:线性结构。定长的线性表 数组的特点:结构固定——定义后维数和维界不再改变 一般不做删除和添加元素的操作。做修改,取元素 二维数组:可以看作线性表也可 阅读全文
posted @ 2022-03-30 17:23 铜须的编程生活 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、串的概念 串:零个或多个任意字符串组成的有限序列 S="a1 a2 ... an" S :串名 a1-an:串值 n是串长, n=0是空串 字串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串 “abcde”的子串有: “”、“a”、“ab”、“abc”、...... 、“abcde 阅读全文
posted @ 2022-03-28 15:11 铜须的编程生活 阅读(134) 评论(0) 推荐(0) 编辑
摘要:(一)队列的链式表示 若用户无法估计所用队列的长度,则宜采用链队列,仍然两个指针:一个front 头指针,一个rear尾指针 // 链队列的数据定义 #define MAXQIZE 100 //最大长度 typedef struct Qnode { QElemType data; stuct Qno 阅读全文
posted @ 2022-03-28 14:26 铜须的编程生活 阅读(93) 评论(0) 推荐(0) 编辑
摘要:(一)队列 队列是仅在表尾进行插入操作,表头进行删除操作的线性表,是一种先进先出的线性表入队操作尾指针,出队移动头指针。队列的存储结构为链队或者顺序队(常用循环顺序队) 1. 抽象数据结构 ADT Queue{ D = {ai|ai ∈E了吗Set,i=1,2...,n>=0} // 数据对象 R 阅读全文
posted @ 2022-03-28 10:01 铜须的编程生活 阅读(258) 评论(0) 推荐(0) 编辑
摘要:(一)递归 若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的。若一个过程直接或者间接地调用自己,则称这个过程是递归的过程(比如:递归求n的阶乘) 一下三种情况常用到递归方法:1.递归定义的数学函数2.具有递归特性的数据结构3.可递归求解的问题 递归——实际是分治法求解分治法:对 阅读全文
posted @ 2022-03-25 15:39 铜须的编程生活 阅读(36) 评论(0) 推荐(0) 编辑
摘要:(一)链栈 链栈是运算受限的单链表,只能在链表头部进行操作 // 链栈的结点 typeof struck StackNode{ SElemType data // 链栈的数据域 struck StackNode *next // 链栈的指针域 }StackNode, *LinkStack 链栈的头指 阅读全文
posted @ 2022-03-25 14:45 铜须的编程生活 阅读(140) 评论(0) 推荐(0) 编辑
摘要:一、栈的操作 栈是一种在表尾进行插入、删除操作的线性表,是先进后厨 (一)数据结构定义 ADT Stack { // 数据对象 D = {ai| ai∈ ElemSet, i = 1,2,3...n, n>=0} // 数据关系 R1 = {< ai-1, ai>| ai - 1, ai ∈ D, 阅读全文
posted @ 2022-03-24 23:41 铜须的编程生活 阅读(215) 评论(0) 推荐(0) 编辑
摘要:(一)有序列表的合并算法 1.合并两个有序列表并且按升序排列——顺序表 void MergeList_Sq(SqList LA, SqList LB, SqList &LC) { pa = LA.elem // 定义两个pa、pb指针指向两个表的第一个元素 pb = LB.elem LC.lengt 阅读全文
posted @ 2022-03-22 15:58 铜须的编程生活 阅读(131) 评论(0) 推荐(0) 编辑
摘要:一、双向链表 (一)双链表的结构定义 typedef struct DuLnode{ //声明结点的类型和指向节点的指针类型 ElemType data //结点的数据域 struct Lnode *next,*prior //结点的指针域,分为后驱结点的地址和前驱结点的地址 }Lnode, *Du 阅读全文
posted @ 2022-03-18 17:19 铜须的编程生活 阅读(136) 评论(0) 推荐(0) 编辑
摘要:一、链表的结构表示 (一)相关术语: 1.节点:数据元素的存储映像。由数据域和指针域两部分组成。2.链表:n个节点由指针域组成一个链表。它是线性表的链式存储映像,称为线性表的链式存储结构 单链表的结构: typedef struct Lnode{ //声明结点的类型和指向节点的指针类型 ElemTy 阅读全文
posted @ 2022-03-15 16:23 铜须的编程生活 阅读(317) 评论(0) 推荐(0) 编辑
摘要:一、线性表 (一)线性表的顺序储存表示 一般一个顺序表由两个部分描述: 1.一个名为elem的数组,大小为MAXSIZE 2.一个整数来存储元素个数。 静态方式: #define MAXSIZE 100 typedef struct{ ElemType elem [MAXSIZE]; int len 阅读全文
posted @ 2022-03-10 15:32 铜须的编程生活 阅读(171) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示