数据结构
ZHY.Spiritual
这个作者很懒,什么都没留下…
展开
-
线性表及代码
线性表一、线性表定义:1、线性表的定义定义:线性表(List):零个或多个数据元素的有限序列。注意:1)线性表是一个序列。也就是说,线性表的元素之间是有序的。若元素存在多个,对于其中一个元素来说,它前面的元素叫前驱,后面的元素叫后继。第一个元素无前驱,最后一个元素无后继,中间的元素只有一个前驱,一个后继。2)线性表是有限的。事实上,在计算机科学领域,我们只研究有限的原创 2017-03-23 21:51:25 · 1311 阅读 · 0 评论 -
物理内存与虚拟内存之间的映射
1、用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。2、虚拟存储器的容量限制:主存容量+辅存(硬盘)容量。3、物理内存:在应用中,真实存在的,插在主板内存槽上的内存条的容量的大小。从本质上来说,物理内存是代码和数据在其中运行的窗口。4、虚拟原创 2017-04-13 14:49:49 · 22836 阅读 · 1 评论 -
内核链表
在Linux内核中使用了大量的链表结构来组织数据,包括设备列表以及各种功能模块中的数据组织。这些链表大多采用在[include/linux/list.h]实现的一个相当精彩的链表数据结构。很多linux下的源代码都会使用这个头文件,它里面定义了一个结构,以及定义了和其相关的一组函数,初学嵌入式的同学往往会对内核链表感到一头雾水, 本文详细分析了3.14 内核中链表结构的实现,并通过实例原创 2017-03-26 19:40:40 · 533 阅读 · 0 评论 -
排序及排序代码
排序一、排序的基本概念与分类1、排序的定义假设含有n个记录的序列为{r1,r2,……rn},其相对应的关键字分别为{k1,k2,……kn},需确定一种序列,使其关键字满足k1=k2>=……>=km(非递增)关系,即使得序列成为一个按关键字有序的序列{r1,r2,……,rm},这样的操作就称为排序。排序的依据是关键字之间的大小关系,那么,对于同一个记录集合,针对不同的关键字进行排序,原创 2017-03-23 22:20:51 · 672 阅读 · 0 评论 -
查找及查找代码
查找一、查找概论各位都用过搜索引擎。搜索引擎的大概工作原理就是利用网络“爬虫”抓取并复制网页,并且可以通过该网页的链接来抓取更多的网页。那么,搜索引擎的是通过什么来抓取网页的呢?就是通过“关键字”来识别网页并抓取网页的。 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表(Search Table)是由同一类型的原创 2017-03-23 22:18:31 · 1644 阅读 · 0 评论 -
栈与队列
一、栈的定义定义:栈(stack):栈是限定仅在表的一端进行插入或删除操作的线性表。我们把允许插入和删除操作的一端称为栈顶(top),另一端称为栈底(bottom)。不含任何数据元素的栈称为空栈。栈又称为“后进先出(Last In First Out,简称LIFO)的线性表”,简称为LIFO结构。栈的插入操作,称为进栈/入栈/压栈。栈的删除操作,称为出栈/弹栈。不过要注意的是,原创 2017-03-23 22:16:01 · 866 阅读 · 2 评论 -
树与二叉树及代码
树与二叉树一、树的定义:1、定义:树(Tree)是n(n>=0)个节点的有限集,n=0时称为“空树”。在任意一棵非空树中:⒈有且仅有一个特定的称为根(root)的节点。⒉当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1、T2……Tm,其中每一个集合本身又是一棵树,并且称之为根的子树(SubTree)。注意:⒈n>0时根节点是唯一的,不可能存在多个根节点。原创 2017-03-23 22:13:16 · 939 阅读 · 0 评论 -
球钟代码
#include#include#define ONEMIN 5#define FIVEMIN 12#define ONEHOUR 12#define BALLQUE 28#define OK 1#define ERROR 0typedef int data_t;typedef struct{data_t *data;int top;//栈顶in原创 2017-03-23 22:09:35 · 641 阅读 · 2 评论 -
链式队列代码
#include #include #define OK 1#define ERROR 0typedef int data_t; typedef struct node_t//普通单链表节点{data_t data;struct node_t *next; } linknode_t, *linklist_t; typedef struct/原创 2017-03-23 22:08:13 · 716 阅读 · 0 评论 -
栈代码
顺序栈#include #include #define MAXSIZE 20#define OK 1#define ERROR 0 typedef int data_t;typedef struct{data_t data[MAXSIZE];int top;}SqStack; int PushStack(SqStack *s,data_t原创 2017-03-23 22:06:53 · 2900 阅读 · 0 评论 -
双向链表及约瑟夫环代码
双向链表//注意:该文件操作的链表为带头结点双向链表,头结点数据为-1#include #include #include #define OK 1#define ERROR 0 typedef int data_t;typedef struct DulNode{data_t data;struct DulNode *prior;struct D原创 2017-03-23 22:04:06 · 1032 阅读 · 0 评论 -
链表及代码
一、线性表的链式存储结构前面所讲的线性表的顺序存储结构是有缺点的,最大的缺点就是插入和删除时需要移动大量的元素,这显然就需要耗费大量时间。仔细考虑一下产生该问题的原因,在于相邻元素的存储位置也具有邻居关系,它们在内存中是紧挨着的,没有空隙,自然也没有空位进行介入,而删除后留下的空隙自然也需要弥补。为了解决上述问题,我们打破常规,不再让相邻元素在内存中紧挨着,而是上一个元素留存下一个元素...原创 2017-03-23 22:00:57 · 837 阅读 · 0 评论 -
常用颜色RGB
原创 2018-09-11 09:33:00 · 5897 阅读 · 0 评论