![](https://img-blog.csdnimg.cn/20200313160126339.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
《那些年苦练的编程和算法》
那些年苦练的编程和算法~~~每天进步一点点
WRJYDS999
研究方向:嵌入式开发、图像处理
展开
-
非线性数据结构---二叉树(TOPIC Seven)
锲而不舍,金石可镂一. 一些基本概念(1)树:树结构是以分支关系定义的一种层次数据结构,应用树结构组织起来的数据具有层次关系。除根节点之外每个节点只有一个父节点,根节点没有父节点;除叶节点之外每个节点都有一个或多个子节点,叶节点无子节点。父节点和子节点之间通过指针进行链接。常见名词:节点的度: 节点拥有子树的数目树的度: 树中各节点度的最大值树的深度: 树中各...原创 2020-03-26 17:49:48 · 422 阅读 · 0 评论 -
用两个栈实现队列(EXERCISE Two)
路曼曼其修远兮,吾将上下而求索问题描述: 用两个栈实现一个队列。实现它的两个函数 appendTail (完成在队列尾部插入整数功能)和 deleteHead(在队列头部删除整数的功能)方法:一个栈存储元素,一个栈辅助思路: 根据栈 “先进后出” 的特性,第一个栈的底部元素是最后插入的元素,第一个栈的顶部元素是下一个被删除的元素。为了维护队列的特性,每次插入的元素应该在第一个栈的底部。因此每...原创 2020-03-23 22:59:37 · 222 阅读 · 0 评论 -
受限线性表---队列(TOPIC Six)
明日复明日,明日何其多,我生待明日,万事成蹉跎一. 一些基本概念(1)队列:首先提到栈最先想到的就是它是一种后进先出LIFO(先进后出FILO)的线性表,栈规定只能在线性表的尾部进行插入和删除元素操作。栈的尾部称作栈顶(top),相应的表头成为栈底(bottom)。数据入栈是从栈顶插入(push),同样出栈也是从栈顶取出(pop)。下面定义一个栈的顺序存储框架:...原创 2020-03-21 21:41:52 · 244 阅读 · 0 评论 -
受限线性表---栈(TOPIC Five)
宝剑锋从磨砺出,梅花香自苦寒来一. 一些基本概念(1)栈:首先提到栈最先想到的就是它是一种后进先出LIFO(先进后出FILO)的线性表,栈规定只能在线性表的尾部进行插入和删除元素操作。栈的尾部称作栈顶(top),相应的表头成为栈底(bottom)。数据入栈是从栈顶插入(push),同样出栈也是从栈顶取出(pop)。下面定义一个栈的顺序存储框架://定义顺序栈typedef struct S...原创 2020-03-19 22:43:02 · 279 阅读 · 0 评论 -
约瑟夫环问题(EXERCISE One)
一日之计在于晨,一年之计在于春,一生之计在于勤问题背景:约瑟夫问题(Josephus problem):据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,...原创 2020-03-18 23:29:32 · 213 阅读 · 0 评论 -
线性表的链式存储---循环链表(TOPIC Four)
千里之行,始于足下一. 一些基本概念(1)单链表:单链表属于线性数据结构,与上节所介绍的顺序表不同的是,顺序表是占用的是连续内存空间进行存储,所以在物理结构和逻辑结构上均为连续。但单链表为链式的存储结构不需要内存空间地址连续,所以逻辑上连续,但物理上并不连续(但也有极小的可能连续),每个节点之间通过指针域索引进而找到下一个节点的地址。单链表最前方有一个不存放任何元素的的头结点,在定义结构体后可...原创 2020-03-15 21:13:33 · 456 阅读 · 0 评论 -
线性表的链式存储---企业链表(TOPIC Three)
业精于勤,荒于嬉;行成于思,毁于随一. 一些基本概念(1)传统单链表:单链表属于线性数据结构,与上节所介绍的顺序表不同的是,顺序表是占用的是连续内存空间进行存储,所以在物理结构和逻辑结构上均为连续。但单链表为链式的存储结构不需要内存空间地址连续,所以逻辑上连续,但物理上并不连续(但也有极小的可能连续),每个节点之间通过指针域索引进而找到下一个节点的地址。单链表最前方有一个不存放任何元素的的头结...原创 2020-03-14 14:13:37 · 302 阅读 · 0 评论 -
线性表的链式存储---单向链表(TOPIC Two)
一. 一些基本概念(1)单链表:单链表属于线性数据结构,与上节所介绍的顺序表不同的是,顺序表是占用的是连续内存空间进行存储,所以在物理结构和逻辑结构上均为连续。但单链表为链式的存储结构不需要内存空间地址连续,所以逻辑上连续,但物理上并不连续(但也有极小的可能连续),每个节点之间通过指针域索引进而找到下一个节点的地址。单链表最前方有一个不存放任何元素的的头结点,在定义结构体后可通过list->...原创 2020-03-12 18:05:51 · 406 阅读 · 0 评论 -
线性表的顺序存储---动态数组(TOPIC One)
本人为研二在读学生,寒假期间开始尝试将每天所学记录到博客中(基础内容大佬勿喷,希望有一天能力可以达到大佬水平,哈哈),第一次写博客,大家共同讨论、共同进步。一. 一些基本概念(1)链表:是由指针把若干个节点连接而形成的动态数据结构,既然是动态的,那么肯定就不会去关心它的具体长度是多少。当有新的节点被插入时,只需对新节点分配内存,将插入位置的前一个位置指针销毁,调整指针指向新节点,那么如果内存饱...原创 2020-03-09 22:39:17 · 462 阅读 · 0 评论