《数据结构与算法 (Kotlin语言描述)》/ 陈光剑

内容简介

本书主要介绍基本数据结构以及相关的经典算法,强调“问题-数据-算法”的抽象过程,采用“模型-关系思考法”问题解决方法论,关注数据结构与算法的时间空间效率,提升编写出高效程序从而解决实际问题的综合能力。

全书目录


1.Kotlin 概述

1.1 为什么用Kotlin?

1.2 Kotlin快速入门

小结

2 问题求解方法论

2.1 数据结构与抽象数据类型

2.2 算法特性及分类

2.3 模型-关系思维方法论

小结

3.算法复杂度

3.1 时间复杂度

3.2 空间复杂度

3.3 大O记法

小结

4.数组

4.1 数组的基本概念

4.2 数组的操作

4.3 应用案例

小结

5.栈

5.1 栈的基本概念

5.2 栈的操作

5.3 栈与递归

5.4 递归转非递归

5.5 应用案例

小结

6.队列

6.1 队列的基本概念

6.1 队列的操作

6.2 应用案例

小结

7.链表

7.1 链表的基本概念

7.2 链表的操作

7.3 单链表

7.4 循环链表

7.5 双向链表

7.6 应用案例

小结

8.映射

8.1 映射的基本概念:一切皆是映射

8.2 映射的操作

8.3 应用案例

小结

9.树

9.1 树的定义

9.2 树的抽象数据结构及树的遍历

9.3 树的链式存储结构

9.4 树的父指针表示法

9.5 树的顺序存储和K叉树

9.6 二叉树的概念

9.7 二叉树的抽象数据结构

9.8 二叉树的搜索

9.9 二叉树的存储结构

9.10 二叉搜索树

9.11 堆与优先队列

9.12 Huffman树及其应用

9.13 Trie 树

9.14 AVL 树

9.15 Splay 树

小结

10.红黑树

10.1 红黑树的基本概念

10.2 红黑树的5大特性

10.3 左旋与右旋

10.4 查找操作

10.5插入操作

10.6 删除操作

10.7 应用案例

小结

11.字符串算法

11.1 字符串基本概念

11.2 字符串的存储结构

11.3 字符串运算的算法实现

11.4 字符串的快速模式匹配

小结

12.排序算法

12.1 冒泡排序

12.2 选择排序

12.3 插入排序

12.4 归并排序

12.5 快速排序

12.6 希尔排序

12.7 堆排序

12.8 基数排序

小结

13 索引算法

13.1 索引的概念

13.2 静态索引

13.3 倒排索引

13.4 B 树

13.5 B+ 树

13.6 位索引技术

小结