《数据结构、算法与应用——C++语言描述》是享有盛誉的数据结构教科书的第2版。它完整地包含了基本数据结构的内容,是CS2课程的理想用书。作者Sartaj Sahni通过循循善诱的讲解、直观具体的讨论和基于现实的应用,让读者轻松、愉快地学习。新版书着重利用标准模板库(STL),把书中开发的数据结构和算法与相应的STL实现方法...
《数据结构、算法与应用——C++语言描述(原书第2版)》是2019年9月机械工业出版社出版的图书,作者是(美)Sartaj、Sahni。 内容简介 本书共分三个部分。第一部分从第1章到第4章,旨在复习C++程序设计的概念以及程序性能的分析和测量方法。第二部分从第5章到第16章,研究数据结构,包括线性表、数组和矩...
此章节实际上是数据结构与算法分析——C语言描述(第2章 算法分析)https://www.cnblogs.com/kirin-dev/p/Data-Structures_Chapter-2.html的延展。 2.1 引言 所谓程序性能(program performance),是指运行一个程序所需要的内存大小和时间。 可以采用两种方法来确定一个程序的性能,一个是分析的方法,一个是实验的方法...
最大优先级队列的抽象数据类型说明如ADT 12-1所示,最小优先级队列的抽象数据类型说明与之类似,只是top的pop函数不同,查找和删除的都是优先级最小的元素。 堆 定义 定义12-1一棵大根树(小根树)是这样一棵树,其中每个节点的值都大于(小于)或等于其子节点(如果有子节点的话)的值。
本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本...
6.1.2 结构chainNode 6.1.3 类chain 6.1.4 抽象数据类型linearList的扩充 6.1.5 类extendedChain 6.1.6 性能测量 6.2 循环链表和头节点 6.3 双向链表 6.4 链表用到的词汇表 6.5 应用 6.5.1 箱子排序 6.5.2 基数排序 6.5.3 凸包 6.5.4 并查集
首先要定义学生信息结构体来存放学生记录,具体参见上一章的struct Student定义。 接下来压入对应结点的过程如下: 入栈前如图3.2所示。 图3.2 入栈前学生报到信息表 图3.3 入栈后学生报到信息表 栈顶指针先自增,给需要进栈的元素腾出内存空间,再往空间里压入元素(120010131,郑克龙),如图3.3所示。 2.入...
为了缩短编码串的长度,必须使用二叉树代码,二叉树的外部节点与要编码的字符串的字符对应,且WEP最小。一棵二叉树,如果对一组给定的频率,其 WEP 最小,那么这棵二叉树称为霍夫曼树(Huffman tree)。 哈夫曼编码 哈夫曼编码的流程: 1)确定字符串的符号和它们出现的频率。
《数据结构、算法与应用:C++语言描述 》是2000年机械工业出版社出版的图书,作者是Sartaj Sahni。该图书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法。作者简介 Sartaj Sahni,多年来一直从事数据结构...