总结
一、数据结构(Data Structure) 是数据的组织结构,用来组织、存储数据。算法(Algorithm) 就是解决问题的方法或者过程。
二、数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;物理结构分为顺序存储结构、链式存储结构。
三、算法是一系列运算步骤。算法有5个基本特性,输入、输出、有穷性、确定性、可行性;算法最求5个目标,正确性、可读性、健壮性、运行时间少、内存空间小。
四、「数组」 是实现线性表的顺序结构存储的基础;「链表」 是实现线性表的链式存储结构的基础; 「栈」是一种后进先出的线性表;「队列」是一种先进先出的线性表;「哈希表」是根据关键码值直接进行访问的数据结构;「字符串」是由零个或多个字符组成的有限序列;「树」是由节点与节点之间的关系组成的有限集合;「图」是由顶点的非空有限集合与边的集合构成的结构。
五、「枚举算法」也称为穷举算法,是按照问题本身的性质一一列举出该问题所有可能的解;「递归」指的是一种通过重复将原问题分解为同类的子问题而解决的方法;「分治」就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并;「回溯」是一种选优搜索方法,按选优条件进行深度优先搜索,以达到目标;「贪心」是一种在每次决策时采用当前状态下最优或最好的策略,从而希望导致结果是最好或最优的算法;「位运算」是针对二进制的运算,对每一个位进行布尔运算操作;「动态规划」与分治法相似,都是通过组合子问题的解来求解原问题答案,将问题划分为互不相交的子问题,递归的求解子问题,最后合并子问题的答案。

1. 数据结构

数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结构、图形结构;




物理结构分为顺序存储结构、链式存储结构。

1.1 数组

「数组」 是实现线性表的顺序结构存储的基础。

1.2 链表

「链表」 是实现线性表的链式存储结构的基础。

1.3 栈

「栈」是一种后进先出的线性表。

1.4 队列

「队列」是一种先进先出的线性表。

1.5 哈希表

「哈希表」是根据关键码值直接进行访问的数据结构。

1.6 字符串

「字符串」是由零个或多个字符组成的有限序列。

1.7 树

「树」是由节点与节点之间的关系组成的有限集合。

1.8 图

「图」是由顶点的非空有限集合与边的集合构成的结构。

2. 算法

算法是一系列运算步骤。算法有5个基本特性,输入、输出、有穷性、确定性、可行性;算法最求5个目标,正确性、可读性、健壮性、运行时间少、内存空间小。

1.1 枚举算法

「枚举算法」也称为穷举算法,是按照问题本身的性质一一列举出该问题所有可能的解。

1.2 递归算法

「递归」指的是一种通过重复将原问题分解为同类的子问题而解决的方法。

1.3 分治算法

「分治」就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

1.4 回溯算法

「回溯」是一种选优搜索方法,按选优条件进行深度优先搜索,以达到目标。

1.5 贪心算法

「贪心」是一种在每次决策时采用当前状态下最优或最好的策略,从而希望导致结果是最好或最优的算法。

1.6 位运算

「位运算」是针对二进制的运算,对每一个位进行布尔运算操作。

1.7 动态规划

「动态规划」与分治法相似,都是通过组合子问题的解来求解原问题答案,将问题划分为互不相交的子问题,递归的求解子问题,最后合并子问题的答案。

数据结构与算法(总结)相关推荐

  1. Python3-Cookbook总结 - 第一章:数据结构和算法

    第一章:数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. ...

  2. 推荐一个关于.NET平台数据结构和算法的好项目

    http://www.codeplex.com/NGenerics 这是一个类库,它提供了标准的.NET框架没有实现的通用的数据结构和算法.值得大家研究. 转载于:https://www.cnblog ...

  3. 数据结构和算法:(3)3.1线性表的顺序存储结构

    -----------------------1.线性表基础操作------------------------ 线性表:(List)由零个或多个数据元素组成的有限序列. 首先他是一个序列,元素之间是 ...

  4. weiss数据结构和算法书的使用说明

    <数据结构与算法分析 C语言描述>Mark Allen Weiss著,冯舜玺译,机械工业出版社.Weiss教授的经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的 ...

  5. 数据结构和算法 -- 学习导图

    数据结构和算法 是作为程序员写出高效代码的基础,为了今后的两年在高效代码之路上持续精进,将按照此学习导图进行 算法和数据结构的刻意练习,同时也希望为同样有高效代码追求的伙伴们提供一条学习路径,共同进步 ...

  6. Java数据结构与算法(第四章栈和队列)

    2019独角兽企业重金招聘Python工程师标准>>> 本章涉及的三种数据存储类型:栈.队列和优先级队列. 不同类型的结构 程序员的工具 数组是已经介绍过的数据存储结构,和其他结构( ...

  7. python数据结构与算法总结

    python常用的数据结构与算法就分享到此处,本月涉及数据结构与算法的内容有如下文章: <数据结构和算法对python意味着什么?> <顺序表数据结构在python中的应用> ...

  8. 学习JavaScript数据结构与算法(一):栈与队列

    本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列 第二篇文章:学习JavaScript数据结构与算法(二):链表 第三篇文章:学习JavaScript数据结构与算法(三): ...

  9. MySQL索引背后的数据结构及算法原理【转】

    http://blog.codinglabs.org/articles/theory-of-mysql-index.html MySQL索引背后的数据结构及算法原理[转] 摘要 本文以MySQL数据库 ...

  10. 数据结构与算法:22 精选练习50

    精选练习50 马上就要期末考试或者考研了.为了大家复习的方便,我精选了有关数据结构与算法的50道选择题,大家可以抽空练习一下.公众号后台回复"答案"可以获取该50道题目的答案. 0 ...

最新文章

  1. 【django轻量级框架】在线视频教育系统设计与实现
  2. 关于mysql的一些问题_关于mysql的一些细节问题
  3. Webservice入门教程_教程目录以及地址
  4. MONO源码编译笔记-版本:unity-2018.4-mbe
  5. 【Let‘s Go】Go语言入门篇
  6. python随机生成10个整数列表_python_随机产生10个整数后找出最小值,最大值。
  7. Cloud for Customer客户主数据重复检查duplicate check的前台实现
  8. 三年半Java后端面试经历
  9. 前端学习(2850):简单秒杀系统学习之绝对定位
  10. 实例16:python
  11. 没有基础的想转行学习Python怎么学
  12. springboot文件上传下载实战 —— 登录功能、展示所有文件
  13. Mysql update 语句(chm文档)
  14. java millis_Java Duration.getMillis方法代码示例
  15. java基础知识精讲视频教程百度云盘分享!
  16. shell教你如何批量解压缩——unzip命令
  17. 可以在电脑上在线录制视频GIF的软件,不需要下载安装
  18. 华为HCIE RS笔记-21OSPF基本知识
  19. 华为7c手机怎么恢复出厂设置_华为荣耀畅玩7A/7C解锁教程_荣耀畅玩7A/7C用官方解锁码解锁方法...
  20. 计算机安全知识有哪些方面,信息安全的基本属性包括哪些方面?

热门文章

  1. 《东周列国志》第五十九回 宠胥童晋国大乱 诛岸贾赵氏复兴
  2. C# | 批量将CAD图幅网格外扩生成新图框(附源代码下载)
  3. stm32霍尔编码器电机测速原理
  4. 分享一例BIOS损坏修复案例
  5. 阅读札记:创新与思维范式
  6. 解决redis 配置文件设置密码不生效的问题
  7. mariadb安装密码验证插件
  8. TwinCAT 3 file记录日志txt文件程序
  9. php色子,jQuery+PHP实现的掷色子抽奖游戏实例,jquery色子_PHP教程
  10. 检查word里参考文献引用依出现先后顺序排列(半自动化)