数据结构
壑壑哒
这个作者很懒,什么都没留下…
展开
-
顺序表操作(增删改)、合并两个顺序表
描述:La和Lb是两个从小到大 排序的链表,对La进行插入节点,删除节点,修改节点值操作,最后合并La和Lb,合并后仍然按从大到小排列代码#include <stdio.h>#include <stdlib.h>#define MAX_SIZE 100#define OK 1#define ERROR -1typedef int Status;ty...原创 2018-11-15 23:08:06 · 548 阅读 · 0 评论 -
数据结构知识复习(一)
数据结构指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的逻辑结构,数据元素及元素间关系的存储称为存储结构(物理结构)。数据结构按照逻辑关系的不同分为线性结构和非 线性结构两大类,其中,非线性结构又可分为树结构和图结构。(一)线性结构线性结构的特点是数据元素之间呈现一种线性关系。1、线性表常采用顺序存储和链式存储,主要的基本操作是插入、删除和查找等。定义:...原创 2019-03-15 18:36:52 · 631 阅读 · 0 评论 -
数据结构知识复习(二)
(三)树定义:树 是n(n >= 0)个结点的有限集合,当n = 0时称为空树。 在任一非空树中,有且仅有一个称为根的 结点,其余结点可分为m(m >= 0)个互不相交的有限子集T1,T2,……,Tm,其中,每个Ti又都是一棵树,并且称为根节点的子树。树中的某个结点,它最多只与上一层的一个结点有直接的关系,而与其下一层的多个结点有直接关系。树的基本概念:(a)双亲、孩子和兄...原创 2019-03-19 18:27:59 · 707 阅读 · 0 评论 -
堆排序算法
相关理论:堆定义:堆是一棵以k1为根的完全二叉树。若对该二叉树的结点进行编号(从上到下,从左到右),得到的序列就是将二叉树的结点以顺序结构存放,堆的结构正好和该序列结构完全一致。n个元素的序列H={k1, k2 , … kn} ,满足: 性质:① 堆是一棵采用顺序存储结构的完全二叉树, k1是根结点;② 堆的根结点是关键字序列中的最小(或最大)值,分别称为小(或大)...原创 2018-11-16 18:02:58 · 260 阅读 · 0 评论 -
索引顺序表查找和二叉排序树查找
二叉排序树(BST)的定义为:二叉排序树或者是空树,或者是满足下列性质的二叉树:(1) :若左子树不为空,则左子树上所有结点的值(关键字)都小于根结点的值;(2) :若右子树不为空,则右子树上所有结点的值(关键字)都大于根结点的值;(3) :左、右子树都分别是二叉排序树。 结论:若按中序遍历一棵二叉排序树,所得到的结点序列是一个递增序列。BST可以用二叉链表来存储:BS...原创 2018-11-16 17:50:28 · 1423 阅读 · 0 评论 -
多项式加减乘
代码:#include <stdio.h>#include <stdlib.h>#define MAX_SIZE 100#define OK 1#define ERROR -1typedef int Status;typedef int Elemtype;typedef struct polynomail{ float coef; //系数 ...原创 2018-11-16 17:12:10 · 600 阅读 · 1 评论 -
稀疏矩阵----三元组顺序表建立、转置
对于稀疏矩阵,采用压缩存储方法时,只存储非0元素。必须存储非0元素的行下标值、列下标值、元素值。因此,一个三元组(i, j, aij)唯一确定稀疏矩阵的一个非零元素。若以行序为主序,稀疏矩阵中所有非0元素的三元组,就可得构成该稀疏矩阵的一个三元组顺序表。 代码:#include <stdio.h>#include <stdlib.h>#define ...原创 2018-11-16 17:02:08 · 7493 阅读 · 1 评论 -
循环队列操作
代码#include <stdio.h>#include <stdlib.h>#define MAX_QUEUE_SIZE 100#define OK 1#define ERROR -1typedef int Status;typedef int ElemType;typedef struct queue{ ElemType *Queue_a...原创 2018-11-16 16:48:15 · 256 阅读 · 0 评论 -
栈的动态顺序存储表示
代码: #include <stdio.h>#include <stdlib.h>#define STACK_SIZE 100#define STACKINCREMENT 20#define OK 1#define ERROR -1typedef int Status;typedef int ElemType;// 栈的动态顺序存储表示typede...原创 2018-11-16 16:37:03 · 325 阅读 · 0 评论 -
线性表操作(增删改查清空)
头插法创建链表 代码 #include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR -1typedef int Status;typedef int ElemType;typedef struct Lnode{ ElemType data; struct Lnode *...原创 2018-11-16 16:27:52 · 3203 阅读 · 0 评论 -
数据结构知识复习(三)
(五)查找查找是常用的基本运算。查找表是指由同一类型的数据元素(或记录)构成的集合。对查找表经常进行的两种操作:(1)查询某个特定的数据元素是否在查找表中。(2)检索某个特定的数据元素的各种属性。只进行这两种 操作的查找表 称为静态查找表。 对查找表要进行的另外两种操作如下:(1)在查找表中插入一个数据元素。(2)在查找表中删除一个数据元素。 进行这两种操作的查找表为动态查找表。为确定记录...原创 2019-03-26 08:55:17 · 264 阅读 · 0 评论