![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 74
J_小浩子
我把在学习过程中的bug发表在CSDN上,才疏学浅,班门弄斧。
展开
-
数据结构(一)
小编在寒假期间,在家里看了郝斌老师的数据结构,于是,根据韩斌老师的视频,小编整理了如下8偏数据结构。 数据结构概念: 抛砖引玉:现实生活中存在的大量而复杂的问题,比如,一个班级,我们可以使用数组来实现。全国人口我们可以用链表来实现。铁路系统可以使用图结构来实现。公司的职员关系可以用树结构来实现。等等 那么我们解决问题的方法就是算法,而表示问题的数据类型和存储结构则为数原创 2016-02-21 21:33:13 · 1324 阅读 · 3 评论 -
数据结构(二)
数据结构-线性结构:数组、链表 数组的原理,底层实现。在c语言中,有int arr[],java有String arr[],ArrayList。但他们在底层是如何实现的,比如ArrayList的add,remove函数的底层c代码,下面是完整的程序: #include #include #include struct Arr { int * pBase;//储存的数组的首地址 int原创 2016-02-21 21:43:22 · 626 阅读 · 0 评论 -
数据结构(三)
接着链表,删除一个结点: 方法一: p->pNext=p->pNext->pNext; 方法二: r=p->pNext; p->pNext=p->pNext->pNext;free(r) 很显然,方法一虽然删除了p的下一个结点,可是被删结点的内存还标记着使用状态,系统并没有回收,造成内存泄漏。方法二是方法一的解决方法。 补充:线性结构:能用一根线把所有结点串起来,数组,链表是典型的线性结构原创 2016-02-21 21:47:41 · 456 阅读 · 0 评论 -
数据结构(五)
接着队列,下面是队列的代码实现: #include #include #include typedef struct Queue { int * pBase; int front; int rear; }QUEUE; void init(QUEUE *);//初始化 bool full_queue(QUEUE *);//判断是否满 bool en_queue(QUEUE原创 2016-02-21 21:55:11 · 747 阅读 · 0 评论 -
数据结构(七)
接着树: 树的专业术语: 结点 父结点 子结点 子孙 堂兄弟 深度:从根结点到最底层结点的层数称为深度 叶子结点:没有子结点的结点 非终端结点:实际上就是非叶子结点 度:子结点的个数称为度 树分类: 一般树:任意一个结点的子结点个数不受限制 二叉树:任意一个结点的子结点个数最多两个,且子结点的位置不可更换原创 2016-02-21 22:01:27 · 482 阅读 · 0 评论 -
数据结构(八)
接着二叉树: 已知中序和先序,中序和后序求原始二叉树:先从先序和后序开始找根结点,再定位到中序找出根结点的左子树和右子树,再依次递归找出各位非终端结点。 示例1 先序:ABCDEFGH 中序:BDCEAFHG 求后序:DECBHGFA 示例2 先序:ABDGHCEFI 中序:GDHBAECIF 求后序:GHDBEIFCA 示例3 中序:BDCEAFHG 后原创 2016-02-21 22:07:53 · 573 阅读 · 0 评论 -
C语言实现8种排序
最近要开始准备春招了,没什么时间学习spring,得忙着刷题。这两天复习排序,综合网上和书上的资料,整理了下面8种排序算法的实现。基于C语言的,java版本很快就出来。 具体代码:#include<stdio.h> #include<stdlib.h> //冒泡排序 void bubleSort(int data[], int n); //快速排序 void quickSort(int data[原创 2017-02-24 22:26:01 · 35109 阅读 · 9 评论