数据结构和算法之概述

1 什么是数据结构和算法?

1.1 数据结构

  • 对内存或磁盘上的数据的一种安排,也就是数据的组织形式。基本的数据结构包括数组、链表、栈、队列、树、哈希表、图、堆等等。

1.2 算法

  • 是对数据结构中的数据进行处理的方式或是过程,广义上讲,就是解决问题的方法。

2 数据结构和算法的关系

  • 数据结构是为算法服务的,很多算法都依赖于特定的数据结构,但是不是全部算法,算法当然可以和数据结构没有关系。

3 学习数据结构和算法有什么好处?

  • 正确的选择数据结构和算法,可以使得程序更加健壮,运行效率大大提高,因此,数据结构和算法是每个软件开发人员必备的基本功,也是最重要的基本功,没有之一。

4 java数据结构和算法的概览

4.1 数组

  • 有序和无须数组的操作、二分查找法、存放对象、大O表示法

4.2 栈

  • 线性表、栈、栈的操作、栈的实例、后缀表达式(包括转换和计算)

4.3 队列

  • 队列、队列的实现、循环队列、双端队列、优先级队列

4.4 链表

  • 链表、单链表、双端链表、用链表实现栈和队列、有序链表、双向链表

4.5 递归算法

  • 递归、阶乘、分治算法、斐波拉契数列、汉诺塔、背包问题、归并排序

4.6 排序算法

  • 冒泡、选择、插入法、希尔、快速排序、基数、对象排序

4.7 二叉树

  • 二叉树的概念和性质、二叉树的实现、哈夫曼编码、哈夫曼树、哈夫曼算法、使用哈夫曼算法来实现压缩和解压的功能

4.8 红黑树

  • 红黑树的概念和特征、红黑树的规则和修正、红黑树的旋转、红黑树的实现

4.9 2-3-4树

  • 2-3-4树的概念和规则、2-3-4树的实现、2-3-4树和红黑树的关系和转换规则

4.10 B树(平衡树)

  • B树的概念和特性、B树的高度、B树的实现、B树的变形

4.11 堆

  • 堆的概念和特点、堆的实现、堆的排序

4.12 哈希表

  • 哈希表的概念和优缺点、Hash函数的构建、冲突解决(开放地址法和链地址法)、Hash化字符串

4.13 图

  • 图的概念和基本术语、深度和广度搜索、最小生成树、有向图的拓扑、有向图的连通、Warshall算法、带权图的最小生成树、普利姆算法、最短路径问题、迪杰斯特拉算法、弗洛伊德算法

猜你喜欢

转载自www.cnblogs.com/xuweiweiwoaini/p/9452338.html
今日推荐