数据结构
文章平均质量分 74
J_小浩子
我把在学习过程中的bug发表在CSDN上,才疏学浅,班门弄斧。
展开
-
数据结构(一)
小编在寒假期间,在家里看了郝斌老师的数据结构,于是,根据韩斌老师的视频,小编整理了如下8偏数据结构。数据结构概念: 抛砖引玉:现实生活中存在的大量而复杂的问题,比如,一个班级,我们可以使用数组来实现。全国人口我们可以用链表来实现。铁路系统可以使用图结构来实现。公司的职员关系可以用树结构来实现。等等 那么我们解决问题的方法就是算法,而表示问题的数据类型和存储结构则为数原创 2016-02-21 21:33:13 · 1352 阅读 · 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 · 637 阅读 · 0 评论 -
数据结构(三)
接着链表,删除一个结点:方法一: p->pNext=p->pNext->pNext;方法二: r=p->pNext; p->pNext=p->pNext->pNext;free(r)很显然,方法一虽然删除了p的下一个结点,可是被删结点的内存还标记着使用状态,系统并没有回收,造成内存泄漏。方法二是方法一的解决方法。补充:线性结构:能用一根线把所有结点串起来,数组,链表是典型的线性结构原创 2016-02-21 21:47:41 · 481 阅读 · 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 · 772 阅读 · 0 评论 -
数据结构(七)
接着树:树的专业术语: 结点 父结点 子结点 子孙 堂兄弟深度:从根结点到最底层结点的层数称为深度叶子结点:没有子结点的结点非终端结点:实际上就是非叶子结点度:子结点的个数称为度 树分类: 一般树:任意一个结点的子结点个数不受限制 二叉树:任意一个结点的子结点个数最多两个,且子结点的位置不可更换原创 2016-02-21 22:01:27 · 503 阅读 · 0 评论 -
数据结构(八)
接着二叉树:已知中序和先序,中序和后序求原始二叉树:先从先序和后序开始找根结点,再定位到中序找出根结点的左子树和右子树,再依次递归找出各位非终端结点。 示例1先序:ABCDEFGH中序:BDCEAFHG求后序:DECBHGFA 示例2先序:ABDGHCEFI中序:GDHBAECIF求后序:GHDBEIFCA 示例3中序:BDCEAFHG后原创 2016-02-21 22:07:53 · 603 阅读 · 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 · 35185 阅读 · 9 评论