![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言数据结构
Epley
这个作者很懒,什么都没留下…
展开
-
插入、折半、链式、shell、选择、冒泡和快速递归和非递归排序
插入、折半、链式、shell、选择、冒泡和快速递归和非递归排序①排序的基本概念排序(Sort)是将无序的记录序列(或称文件)调整成有序的序列。稳定排序和非稳定排序设文件f=(R1……Ri……Rj……Rn)中记录Ri、Rj(i≠j,i、j=1……n)的key相等,即Ki=Kj。若在排序前Ri领先于Rj,排序后Ri仍领先于Rj,则称这种排序是稳定的,其含义是它没有破坏原本已有序的次序。反之,若...原创 2019-12-28 00:07:02 · 174 阅读 · 0 评论 -
顺序表查找/折半查找和开放地址发与链地址法建立哈希表
顺序表查找/折半查找和开放地址发与链地址法建立哈希表1.查找的概念查找(或检索)是在给定信息集上寻找特定信息元素的过程。待查找的数据单位(或数据元素)称为记录。记录由若干数据项(或属性)组成,如学生记录:其中,“学号”、“姓名”、“性别”、“年龄”等都是记录的数据项。若某个数据项的值能标识(或识别)一个或一组记录,称其为关键字(key)。若一个key能唯一标识一个记录,称此key为主ke...原创 2019-12-25 14:11:28 · 389 阅读 · 0 评论 -
二叉树的创建遍历和释放
二叉树的创建遍历和释放树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件 :有且仅有一个特定的称为根(Root)的节点,其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树(Subtree)。树的基本概念一个节点的子树的个数称为该节点的度数,一棵树的度数是指该树中节点的最大度数。度数为零的节点称为树叶或终端节点,...原创 2019-12-18 22:13:17 · 456 阅读 · 0 评论 -
链式队列的基础操作
链式队列的基础操作队列概念:队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。当线性表中没有元素时,称为“空队”。特点 :先进先出(FIFO)。队列的特征:特殊的线性表,先进先出(FIFO)。1)数据:对于非空的队列,表头没有直接前驱,表尾没有直接后继,其它有且仅有一个直接前驱和一个直接后继。2)操作:只允许在表...原创 2019-12-14 14:32:16 · 278 阅读 · 0 评论 -
顺序队列的基础操作
顺序队列的基础操作队列概念:队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。当线性表中没有元素时,称为“空队”。特点 :先进先出(FIFO)。队列的特征:特殊的线性表,先进先出(FIFO)。1)数据:对于非空的队列,表头没有直接前驱,表尾没有直接后继,其它有且仅有一个直接前驱和一个直接后继。2)操作:只允许在表...原创 2019-12-14 01:24:33 · 400 阅读 · 0 评论 -
排序的分类和时间复杂度
排序的分类排序的时间复杂度原创 2019-12-14 01:25:08 · 145 阅读 · 0 评论 -
栈的顺序表和单链表的实现
栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。特点 :后进先出(LIFO)。顺序栈#ifndef __SEQSTACK_H__#define __SEQSTACK_H__#include <stdio.h>#include <stdlib.h>#include &...原创 2019-12-12 23:24:23 · 187 阅读 · 0 评论 -
单链表多项式的排序和合并
单链表多项式的排序和合并多项式的相加多项式的表示与相加#ifndef __MERGE_POLY_H__#define __MERGE_POLY_H__#include <stdio.h>#include <stdlib.h>typedef struct { float coef; int exp;}data_t;typedef struc...原创 2019-12-14 01:25:29 · 790 阅读 · 0 评论 -
单向循环链表的应用和joseph问题的解决
单向循环链表的应用和joseph问题的解决#ifndef __SLINKLIST_H__#define __SLINKLIST_H__#include <stdio.h>#include <stdlib.h>typedef int datatype;typedef struct single_node{ datatype data; struct s...原创 2019-12-14 01:26:22 · 112 阅读 · 0 评论 -
双向循环链表的创建、查找、插入、删除和遍历等操作
双向循环链表的创建、查找、插入、删除和遍历等操作#ifndef __DLINKLIST_H__#define __DLINKLIST_H__#include <stdio.h>#include <stdlib.h>typedef int datatype;typedef struct double_link_node{ datatype data; st...原创 2019-12-10 22:55:15 · 859 阅读 · 0 评论 -
单链表的创建、查找、排序、插入、删除、倒置和合并等操作
单链表的创建、查找、排序、插入、删除、倒置和合并等操作#ifndef __LINKLIST_H__#define __LINKLIST_H__#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef int datatype;typedef struct linknode...原创 2019-12-09 22:15:13 · 642 阅读 · 0 评论 -
数据结构-顺序表
线性表作为一种基本的数据结构类型, 在计算机存储器中的映象( 或表示) 一般有两种形式, 一种是顺序映象, 一种是链式映象。若将线性表L=(a0,a1, ……,an-1)中的各元素依次存储于计算机一片连续的存储空间,如图所示。 这种机内表示为线性表的顺序存储结构。顺序存储结构的特点:– (1)逻辑上相邻的元素 ai, ai+1, 其存储位置也是相邻的;– (2)对数据元素ai的存取为随机...原创 2019-12-14 01:26:43 · 113 阅读 · 0 评论