数据结构

栈的定义和特点

栈的定义和特点数据结构的重要部分,栈,栈是OI中常用的一种线性数据结构,请注意,本文主要讲的是栈这种数据结构,而非程序运行时的系统栈/栈空间,大家一定要弄清晰,别混淆了。栈的定义和特点栈(stack)是一个特殊的线……

图的遍历DFS深搜优先搜索及C语言代码实现

图的遍历DFS深搜优先搜索及C语言代码实现1.图的遍历在理解DFS算法之前,我们首先需要对什么是遍历进行了解,遍历的概念就是:从某一个点出发(一般是首或尾),依次将数据结构中的每一个数据访问且只访问一遍。2.DFS简介DFS(Depth-Fi……

C++STL之Pair类模板

C++STL之Pair类模板1.简介Pair表示“一对”的意思,pair将两个数据合成一组数据,在如下两种变成情况中,我们更加常见与使用pair,第一是使用STL中的map(在上一节讲过),对于map而言……

数据结构基础

数据结构基础1.基本概念和术语1)数据数据(Data)是信息的载体,是可以被计算机识别,存储并加工处理的描述客观事物的信息符号的总称。数据不仅仅包括了整形,浮点数等数值类型,还包括了字符甚至声音,视频,图像等非数……

冒泡排序算法实例详解

冒泡排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2)空间复杂度:S(n)=O(1)稳定性:稳定排序2.过程介绍(以顺序为例)1.从第一个元素开始逐个比较相邻的……

栈(先进后出的数据结构)的设计与实现

栈(先进后出的数据结构)的设计与实现1.栈的概念在开始前,请牢记这句话:栈是一种先进后出的数据结构。栈(stack)是限定仅在表的一端进行操作的数据结构,请联系我们前文所学的,设想一个单链表我们只能够对其链表的表尾结点进行操作,而操作也……

后记

后记自6月提笔写这个教程,到现在已是年末了,时光如梭,读者跟着连载应该再配合一些基本的习题和搜索应该已经基本掌握数据结构了,然而,学完这些基本的数据结构还只是计算机学习海洋的一个开始,正如我开篇所说,数据……

二叉树(树)与森林的相互转换

二叉树(树)与森林的相互转换1.什么是森林森林,顾名思义,就是由众多的树构成的一组数据结构,这些树本身没有什么联系,用系统的语言描述就是:森林:m(>=0)棵互不相交的树的集合【注意这里森林是可以有0颗树的,同数学……

C++STL之stack栈容器

C++STL之stack栈容器1.再谈栈回顾一下之前所学的栈,栈是一种先进后出的数据结构,而实现方式需要创建多个结构体,通过链式的方式进行实现,这是标准的栈的思路,而在STL中栈可以以更为简单的方式实现。2.头文件头文件#incl……

简述霍夫曼树

简述霍夫曼树1.树的带权路径长度设二叉树具有n个带权叶结点,从根结点到各叶结点的路径长度与相应叶节点权值的乘积之和称为树的带权路径长度(WeightedPathLengthofTree,WPL)。设为二叉树第i个……