所谓“查找”记为在一个含有众多的数据元素(或记录)的查找表中找出某个“特定的”数据,即在给定信息集上寻找特定信息元素的过程。 为了便于讨论,必须给出这个“特定的”词的确切含义。首先…
Read More《数据结构与算法》第8章 树 (C语言)
8.1树的概念 树(tree)是n(n>=0)个节点的有限集合T,它满足两个条件: 1)有且仅有一个特定的称为根(root)的节点; 2)其余的节点可以分为m(m>=0…
Read More《数据结构与算法》第7章 两个队列实现一个栈 (C语言)
前一节我们讲解了两个栈实现一个队列,现在我们用两个队列实现一个栈。 关于栈和队列的特点在前一节我们已经讲解过了,现在我们直接看用两个队列实现栈的出入。 7.1入栈 入栈很简单,只需…
Read More《数据结构与算法》第6章 两个栈实现队列 (C语言)
在讲解本节内容之前,我们先来回顾栈和队列的特点。 栈的特点是先进后出,例如,把序列1,2,3,4,存入栈中。 入栈:1先入,4最后入,最终1在栈底,而4位于栈顶。 出栈:栈顶先出,…
Read More《数据结构与算法》第5章 链表反转【有头结点】(C语言)
5 链表反转【有头结点】 此文是在前一文的基础上改进,两者区别在于是否有头结点,为何必须有头结点,笔者在《表》那一章已经说明了,此文是在上一节进行了改进。 【题目描述】 题目:输入…
Read More《数据结构与算法》第5章 链表反转【无头结点】(C语言)
5 链表反转【无头结点】 【题目描述】 题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。 typedef int data_t; typedef struct l…
Read More《数据结构与算法》第4章 队列(C语言)
4.1队列的概述 队列(queue)是一种先进先出(First In First Out , FIFO)的线性表,它只允许在表的一端插入元素,另一端删除元素。其中,允许插入的一端称…
Read More《数据结构与算法》第3章 栈(C语言)
3.1 栈的概述 同顺序表和链表一样,栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构。 栈存储结构与之前所学的线性存储结构有所差异,这缘于栈对数据 &…
Read More《数据结构与算法》第2章 表(C语言)
2.1线性表概述 表也可以说是线性表,名为线性存储结构。使用线性表存储数据的方式可以这样理解,即“把所有数据用一根线儿串起来,再存储到物理空间中”。 如上图所示,这是一组具有“一对…
Read More《数据结构与算法》第1章 数据结构与算法分析概述(C语言)
1.1数据结构概述 1.1.1数据结构的含义 数据结构和算法是程序设计最重要的两个内容。 简单的说,数据结构是数据的组织,存储和运算的总和。它是信息的一种组织方式,是以数据按某种组…
Read More