一、数据结构和算法概述 二、稀疏数组和队列 三、链表 四、栈 五、递归 六、排序算法 七、查找算法 八、哈希表 九、树结构的基础部分 十、树结构的实际应用 十一、多路查找树 十二、图 十三、常用10种算法 ...
分类:
编程语言 时间:
2019-09-25 10:55:23
阅读次数:
106
数据结构和算法基础 索引的本质:数据结构,帮助高效获取数据 数据库的查询:最基本的查询算法当然是顺序查找(linear search)、二分查找(binary search)、二叉树查找(binary tree search)每种查找算法都只能应用于特定的数据结构之上,例如二分查找要求被检索数据有序 ...
分类:
数据库 时间:
2019-09-19 16:36:18
阅读次数:
86
散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做 ,存放记录的数组称做散列表 散列表的时间复杂度不是严格的O(1), 因为和多种因 ...
分类:
编程语言 时间:
2019-09-15 19:09:26
阅读次数:
85
之前讲过博主在某网买了一个数据结构与算法的课程。本篇散列表是其中的三节。散列表应该是 Java 程序员常用并且最先碰到的一个数据结构了吧?Java 的 HashMap 就是对散列表的实现。可以说散列表算是一个比较基础、比较好理解(抛开需要缜密设计的哈希函数不说)、比较好用(查询时间复杂度O(1))的 ...
分类:
编程语言 时间:
2019-09-14 16:55:57
阅读次数:
89
掌握了数据结构和算法才能够写出性能更优的代码。而看待问题的深度,解决问题的角度就会完全不一样。 数据结构 数组 链表 栈 队列 散列表 堆 二叉树 图 Trie树 跳表 一些常见算法 递归 排序 搜索 二分查找 哈希算法 贪心算法 分治算法 回溯算法 动态规划 字符串匹配算法 摆脱CRUD boy, ...
分类:
编程语言 时间:
2019-09-12 18:37:01
阅读次数:
106
复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半了。 1. 什么是复杂度分析 ? 1. 数据结构和算法解决是 “如何让计算机更快时间、更省空间的解决问题”。 2. 因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。 3. 分别用时间复杂度和空间复杂度两 ...
分类:
编程语言 时间:
2019-09-07 10:59:34
阅读次数:
74
一.线性结构和非线性结构 1. 线性结构 + 线性结构作为最常用的数据结构,其特点是数据元素之间存在 一对一 的线性关系 + 线性结构有两种不同的存储结构,即 顺序存储结构 和 链式存储结构 。顺序存储的线性表称为 顺序表 ,顺序表中的存储元素是 连续 的 + 链式存储的线性表称为 链表 ,链表中的 ...
分类:
编程语言 时间:
2019-09-05 23:20:43
阅读次数:
122
引入概念 什么是数据结构与算法? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器。 那么数据结构和算法是什么?答曰:兵法! 我们可以不看兵法在战场上肉搏,如此,可能会胜利,可能会失败。即使胜利,可能也会付出巨大的代价。我们 ...
分类:
编程语言 时间:
2019-08-30 21:14:45
阅读次数:
139
[TOC] 数据结构与算法官方定义 “数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”——Sartaj Sahni,《数据结构、算法与应用》 “数据结构是ADT(抽象数据类型 Abstract DataType)的物理实现。”—— ...
分类:
其他好文 时间:
2019-08-25 11:58:04
阅读次数:
107
一、字符测试 二、字符串转换 三、内存管理 四、日期时间 五、内存及字符串操作 六、数学函数 七、用户组 八、数据结构和算法 九、文件操作 十、流操作 十一、进程管理 十二、格式化I/O 十三、进程通信 十四、错误处理 十五、通信 十六、系统 ...
分类:
系统相关 时间:
2019-08-21 13:52:44
阅读次数:
161