博客专栏  >  编程语言   >  数据结构

数据结构

本栏的内容主要参考自《数据结构》,多篇高质量博客。包含的内容有各种基本算法,如栈、队列、排序,以及一些经典算法。

关注
4 已关注
12篇博文
  • 汇编实现排序——简单选择排序

    上阵子重温数据结构,差不多更新到排序。这学期学了汇编语言,其中有几个实验便是实现内部排序算法。以下是实现简单选择排序的程序设计:S0 SEGMENT STACK DW 20 DUP(?) ...

    2016-06-21 23:14
    1897
  • 汇编实现排序——直接插入排序

    上一篇实现了简单插入排序的算法,这一篇主要实现直接插入排序算法:S0 SEGMENT STACK DW 20 DUP(?) TOP LABEL WORD S0 ENDSS1 SEG...

    2016-06-21 23:17
    2188
  • 汇编实现排序——冒泡排序

    冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的...

    2016-06-21 23:20
    4253
  • 汇编实现排序——希尔排序

    希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 以下是汇编实现的代码:S0 S...

    2016-06-21 23:22
    2250
  • 线性表的存储结构(顺序存储结构)

    线性表是最基本、最简单、也是最常用的一种数据结构。线性表有顺序存储结构与链式存储结构两种表示方式,本章主要介绍线性表的顺序存储结构的表示方式。 线性表的顺序表示是指用一组地址连续的存储单元依次存储线性...

    2016-03-19 23:40
    636
  • 线性表的存储结构(链式存储结构)

    距上一次写线性表的顺序存储结构已经有一段时间了(详戳http://blog.csdn.net/u010429311/article/details/50933932),这次主要接着来实现线性表的链式存...

    2016-04-01 16:00
    703
  • 双向链表的实现

    之前的博客讲到了线性表的链式存储结构,实现了链表的各种操作。但是,单链表有单向性的缺点,为了克服这一缺点,可以尝试实现双向链表。下图是双向链表的结构: 我们也可以实现双向链表的一些基本操作: ...

    2016-04-01 17:19
    550
  • 栈的基本操作

    栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。栈是一种很重要的数据结构。我们可以实现栈的基本操作,比如创建...

    2016-04-01 18:11
    507
  • 队列的实现

    队列(Queue)是一种先进先出的结构,它只允许在表的一端插入元素,而在另一端删除元素。队列在操作系统的并发中尤为重要,比如阻塞队列,优先队列等。队列也可以通过线性和链表两种方式实现。这里主要讲如何通...

    2016-04-02 10:23
    573
  • 循环队列中判断队满与队空

    在引用循环队列前,我们需要了解队列是如何线性实现的。 简单地讲,便是当队列为空时,front = rear = 0,每当插入元素尾指针+1,删除元素是头指针-1。但是,我们会发现一个问题,如上面...

    2016-04-02 11:16
    4649
  • 轻松理解KMP算法

    字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完...

    2016-04-03 20:01
    528
  • 二叉树递归与非递归遍历

    二叉树是一种常见的数据结构。二叉树有以下特点: 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 二叉树的第i层至多有2^{i-1}个结点; ...

    2016-04-03 23:58
    541

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部