数据结构
大愚10067
这个作者很懒,什么都没留下…
展开
-
深度解析堆排序
此篇为原创,如需转载,请注明出处:http://blog.csdn.NET/qq_36759732 堆排序,其实就是用数组存储,利用完全二叉树的性质,对其进行二叉树的操作,通过构建大顶堆(小顶堆),找到最大值(最小值),与最后一个节点交换,然后总个数减一,然后重复此操作,最后得到有序序列。(如果不理解大顶堆与小顶堆的话,建议先看看) 基本思路是:1,构建出始堆;2,将堆顶元素与最后一个节点交换原创 2017-10-23 19:29:45 · 221 阅读 · 0 评论 -
起泡排序与快速排序
此篇为原创,如需转载,请注明出处:http://blog.csdn.NET/qq_36759732 起泡法和快排都是以交换元素为方式的排序方法,所以我放在一起说。 起泡法:原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束。起泡法就像一趟之后找到一个一个最大或最小的值,原创 2017-10-15 10:38:20 · 1526 阅读 · 0 评论 -
深度解析栈操作
此篇为原创,如需转载,请注明出处:http://blog.csdn.NET/qq_36759732 栈是一种特殊的表,这种表只在表头进行插入和删除操作。因此,表头对于栈来说具有特殊的意义,称为栈顶。相应地,表尾称为栈底。不含任何元素的栈称为空栈。 栈的特点:后进先出。 通过此篇,你将会深入了解到栈的基本操作,便于以后使用栈时更加清楚。大家知道,对于栈的操作,有出栈,入栈,查看栈顶元素等原创 2017-08-22 16:39:51 · 288 阅读 · 0 评论 -
深度解析队列操作
此篇为原创,如需转载,请注明出处:http://blog.csdn.net/qq_36759732。 通过此篇,你将会深入了解到队列的基本操作,便于以后使用队列时更加清楚。大家知道,队列操作,无外乎增,删,改,查,但它本质上是如何实现的呢,下面我会通过代码实现对列的基本操作。 编程环境:linux 1 #include 2 #include 3 4 #defi原创 2017-08-21 11:00:47 · 257 阅读 · 0 评论 -
深度解读数组操作
此次,我们主要讲解数据结构中数组的操作,大家都知道,数组是数据结构中的最基本的结构,对于它的操作,无外乎就增,删,改,查。大家都会使用它,今天我就带领大家一起实现一下数据结构中的对于数组的操作。 编程环境:linux原创 2017-08-18 10:39:39 · 204 阅读 · 0 评论 -
深度解析链表操作
此篇为原创,如需转载,请注明出处:http://blog.csdn.NET/qq_36759732 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 通过此篇,你将会深入了解到链表原创 2017-08-23 21:06:39 · 276 阅读 · 0 评论 -
深度解析插入排序与归并排序
此篇为原创,如需转载,请注明出处:http://blog.csdn.NET/qq_36759732 插入排序的基本思想是:每次将一个待排序的记录,按其关键字的大小插入到前面已经排好序的的记录序列中的恰当位置,直到全部记录插完为止。因此又称为增量法。 书本上面利用哨兵防止信息的丢失,在这儿,为了代码的简洁,我加了特判。 编程环境: vim 核心代码: void insert_sort(原创 2017-12-03 10:04:13 · 334 阅读 · 0 评论