数据结构与算法01概述

1.几个经典问题

字符串匹配问题
汉诺塔游戏
八皇后问题
马踏棋盘算法介绍和游戏演示

2.数据结构和算法的关系

  1. 数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以 编写出更加漂亮,更加有效率的代码。
  2. 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.
  3. 程序=数据结构+算法
  4. 数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。

3 数据的存储结构

顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。数组就是顺序存储结构的典型代表(排队)【a0 a1 a2 .....】

链式存储结构:是把数据元素存放在内存中的任意存储单元里,也就是可以把数据存放在内存的各个位置。这些数据在内存中的地址可以是连续的,也可以是不连续的。(银行办理业务)
顺序存储结构和链式存储结构的区别:

和顺序存储结构不同的是,链式存储结构的数据元素之间是通过指针来连接的,我们可以通使用指针来找到某个数据元素的位置,然后对这个数据元素进行一些操作。

4.数据的逻辑结构

逻辑关系是指数据元素之间的前后关系,而与他们在计算机中的存储位置无关。逻辑结构分为以下四类:

1.集合结构
集合结构中的数据元素同属于一个集合,他们之间是并列的关系,除此之外没有其他关系。
2.线性结构
线性结构中的元素存在一对一的相互关系。
3.树形结构
树形结构中的元素存在一对多的相互关系。
4.图形结构
图形结构中的元素存在多对多的相互关系。

线性结构常见的有:数组、队列、链表和栈
非线性结构包括:二维数组,多维数组,广义表,树结构,图结构

发布了79 篇原创文章 · 获赞 44 · 访问量 2029

猜你喜欢

转载自blog.csdn.net/wy19961103/article/details/104087825