数据结构和算法之概述

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算法、带权图的最小生成树、普利姆算法、最短路径问题、迪杰斯特拉算法、弗洛伊德算法

原文地址:https://www.cnblogs.com/xuweiweiwoaini/p/9452338.html

时间: 2024-08-01 07:10:38

数据结构和算法之概述的相关文章

数据结构与算法:概述+思维导图

还记得这个经典公式吗? 程序=数据结构+算法     可见数据结构和算法对于程序的重要性.基于此博主写了数据结构与算法系列随笔.下面先给出数据结构与算法的思维导图. 一.数据结构的基本概念 数据结构定义: 数据结构是一种存储和组织数据的方式,以便于访问和修改.数据结构包括数据的逻辑结构.数据的存储结构以及数据的运算,即按照某种逻辑关系组织起来的一批数据,按一定的映射方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合. 数据的逻辑结构:反映数据元素之间的关系.有集合.线性结构.树型

算法数据结构01 /算法数据结构概述

目录 算法数据结构01 /算法数据结构概述 1. 算法 2. 评判程序优劣的方法 3. 时间复杂度 4. 数据结构 5. python数据结构性能分析 6. 总结 算法数据结构01 /算法数据结构概述 1. 算法 算法概述 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务.一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用. 算法是独立存在的一种解决问题的方法和思想. 对于算法而言,实

数据结构和算法概述

1 数据结构和算法的概念 数据结构:对计算机内存中的数据的一种安排. 算法:对数据结构中的数据进行各种处理. 2 数据结构和算法的应用方面 ①现实世界的数据存储 ②程序员的工具 ③现实世界的建模 3 常用的数据结构以及优缺点 数组 优点:插入快(知道下标).查找快(根据索引查找) 缺点:查找慢(根据内容查找),删除慢,数组的长度是固定的 有序数组 优点:比无序的数组查找块 缺点:删除和插入慢,数组的长度是固定的 栈 优点:提供后进先出的存取方式 缺点:存取其他项很慢 队列 优点:提供先进先出的存

数据结构与算法系列十(排序算法概述)

1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API,熟练框架,熟练各种中间件,写的代码不也能“飞”起来吗? 于是问题来了:为什么还要学习数据结构与算法呢? #理由一: 面试的时候,千万不要被数据结构与算法拖了后腿 #理由二: 你真的愿意做一辈子CRUD Boy吗 #理由三: 不想写出开源框架,中间件的工程师,不是好厨子 1.2.如何系统化学习数据结构与算法?

Java数据结构和算法(一):综述

数据结构和算法能起到什么作用? 数据结构是指数据在计算机内存空间或磁盘中的组织形式.数据结构包括数组.链表.栈.二叉树.哈希表等等.算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对数据进行排序. 数据结构的概述 数据结构 优点 缺点 数组 插入快,如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定 有序数组 比无序数组查找快 删除和插入慢,大小固定 栈 提供后进先出方式的存取 存取其他项很慢 队列 提供先进先出方式的存取 存取其他项很慢 链表 插入快,删除快 查找慢 二叉

数据结构与算法1

数据结构与算法(一),概述 转载请注明出处:http://www.cnblogs.com/wangyingli/p/5919297.html 数据结构学了有一年的时间了,但是一直没有好好的总结一下,现在回想起来,感觉好像都不怎么记得了.所以接下来一段时间我将重新学习一下,算是温故而知新了.本着「分享是一种美德」的精神,我将把我的学习总结记录下来,并与大家分享. 本节的主要内容有: 一.数据结构 1.定义 2.关于数据结构的几个术语 3.逻辑结构与物理结构 二.抽象数据类型 三.算法 四.算法的复

数据结构与算法知识大纲

数据结构与算法 1.线性结构 (1)线性表 ①线性表的定义 ②线性表的存储结构 ③线性表的应用 (2)栈和队列 ①栈 ②队列 (3)串 ①串的定义及基本运算 ②串的存储结构 2.数组和矩阵 (1)数组 (2)矩阵 3.树和图 (1)树 ①树的定义 ②二叉树的定义和基本运算 ③二叉树的性质 ④二叉树的存储结构 ⑤二叉树的遍历 ⑥最优二叉树 ⑦二叉查找树 (2)图 ①图的定义及术语 ②图的存储结构 4.常用算法 (1)算法概述 ①算法的基本概念 ②算法与数据结构 ③算法的描述 ④算法效率 (2)排序

Pascal数据结构与算法

第一章 数据结构与算法的引入 1.1 数据结构的基本概念 一. 学习数据结构的意义 程序设计 = 数据结构 + 算法 目前,80%的待处理的数据具有“算法简单”(四则运算.检索.排序等),“对象复杂”(数据类型不同.数据量大.需要保存)等特点,故合理组织数据.选择较好的数据结构可为高效算法(时间少.占用空间小)提供理想的对象. 二.基本术语 1.数据(data): 是对客观事物的符号的表示,是所有能输入到计算机中并被计算机程序处理的符号的总称.(P1表1-1中,学号.姓名.性别.民族等列为字符型

java数据结构与算法之顺序表与链表深入分析

转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52953190 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 ??数据结构与算法这门学科虽然在大学期间就已学习过了,但是到现在确实也忘了不少,因此最近又重新看了本书-<数据结构与算法分析>加上之前看的<java数据结构>也算是对数据结构的进一步深入学习了,于是也就打算