数据结构和算法概述(含代码和文档)

版权声明:原创作品,转载请注明原创链接地址! https://blog.csdn.net/wangxp423/article/details/81509439

一,数据机构

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关

1)线性数据结构

数组,栈,队列,链表,哈希表

2)树结构

二叉树,二分搜索书,AVL,红黑树,Treap,Splay,堆,Trie,线段树,K-D树,并查集,哈夫曼树。

3)图结构

邻接矩阵,邻接表。

二,算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

程序 = 数据结构 + 算法

在计算机的世界里,数据结构无处不在


数据结构练习代码,结构如下

datastructures -> 数据结构相关

array -> 数组
stack_queues.stack -> 栈
stack_queues.queue -> 队列
linked -> 链表
recursion -> 递归
binary_search_tree -> 二分搜索树
set_map.set -> set集合
set_map.map -> map映射
heap -> 堆
segment_tree -> 线段树
trie -> 字典树(前缀树)
union_find -> 并查集
avl -> AVL平衡树

leetcode -> Leetcode练习题
sort -> 各种排序算法

以上,后面会慢慢补充更多数据结构和算法相关的代码

猜你喜欢

转载自blog.csdn.net/wangxp423/article/details/81509439