目录
书中简介:
选读原因
本书内容有哪些:
学会了什么:
书中简介:
《大话数据结构【溢彩加强版】》以一个计算机教师的教学过程为场景,讲解数据结构和相关算法的知识。全书以趣味方式来叙述,大量引用各种各样的生活知识来类比,并充分运用全彩色图形语言来解读抽象内容,对数据结构所涉及的一些经典算法做出逐行分析、多算法比较。与同类图书相比,《大话数据结构【溢彩加强版】》内容有趣易读,算法讲解细致深入,是一本非常适合自学的读物。 对于学习数据结构来说,难点之一是对相关算法的理解。《大话数据结构【溢彩加强版】》创新性地采用全彩印刷,图表、流程、代码等内容结合色彩来重新进行约定和归纳,使得对一些难以理解的知识点的解析更加清晰顺畅,极大提升了阅读体验。 《大话数据结构【溢彩加强版】》主要内容包含:数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、哈夫曼树及应用;图的深度、广度遍历;最小生成树两种算法、最短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二叉排序树、平衡二叉树等动态查找;B树、B+树技术,散列表技术;冒泡、选择、插入等简单排序;希尔、堆、归并、快速等改进排序。
选读原因
选读原因:都说编程==算法+数据结构。在学习过程或者实践过程中一般大多探讨的注重的几乎都是关于算法如何优化,实现优化。今天我来说说数据结构的问题:
常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。
借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;非顺序存储的特点是:借助指示元素存储地址的指针表示数据元素之间的逻辑关系。
数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
本书内容有哪些:
数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、哈夫曼树及应用;图的深度、广度遍历;*小生成树两种算法、*短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二叉排序树、平衡二叉树等动态查找;B树、B 树技术,散列表技术;冒泡、选择、插入等简单排序;希尔、堆、归并、快速等改进排序。
通过本书学会了什么:
时间复杂度:
冒泡排序
for (i=0; i<len-1; i++)
for (j=0; j<len-1-i; j++) {
if (arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
选择排序:
for(i = 0; i < n-1; i ++) {
for(j = i+1; j < n; j ++) {
if(a[i] > a[j]) {
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
}
二叉树的遍历,前序、中序和后序
-
前序遍历:先输出父节点,再遍历左子树,然后遍历右子树 中序遍历:先遍历左子树,再输出父节点,然后遍历右子树 后续遍历:先遍历左子树,再遍历右子树,最后输出父节点
例如
-
/* a b c d e */ /*二叉树三部分 1.根节点 2.左子树 3.右子树 */ /*分治:子问题 前序 :根 左子树 右子树 A B D NULL NULL E NULL NULL C NULL NULL 中序:左、根、右 NULL D NULL B E NULL A NULL C NULL */