数据结构和算法基本概念

转载请注明链接: http://blog.csdn.net/feather_wch/article/details/50477303

数据结构和算法基本概念

版本号:2018/09/25-1(23:00)


特别鸣谢兄弟提供的帮助:

  1. Jun Shibata 丶
  2. Sank

数据结构(10)

1、数据结构的定义是什么?

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

2、用自己的话简单讲讲什么是数据结构?

一组数据的存储结构

3、算法的定义是什么?

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

4、用自己的话简单讲讲什么是算法?

操作数据的一组方法

5、数据结构和算法有什么关系?

  1. 相辅相成的关系
  2. 数据结构是为算法服务的
  3. 算法需要作用在特殊的数据结构上

6、为什么二分查找算法适用于数组而不适用于链表?

  1. 数组具有随机访问的特点。
  2. 链表不支持随机访问, 本身是顺序访问的。
  3. 链表也可以使用二分查找,但是查找过程中效率低下,已经失去了二分查找的优势。

7、什么是随机访问?

  1. 数据在内存中是按顺序存放,可以通过下标直接定位到某一个元素存放的位置
  2. 如: a[3]、a[10]

8、什么是二分查找算法?

  1. 二分查找也称折半查找(Binary Search),是一种效率较高的查找方法。
  2. 算法要求:
    1. 必须采用顺序存储结构(如数组就是顺序存储,能够随机访问)。
    2. 必须按关键字大小有序排列(需要有序或者先进行排序)。
  3. 算法介绍:
    如果将一组数据从小到大的顺序排序(a[0]~a[10]),然后计算出中间索引值(5)。然后标胶目标值targeta[5]的大小。如果target<a[5],则在中间索引值的左边范围内寻找(a[0]~a[4])。如果target>a[5],则在中间索引值的右边范围内寻找(a[6]~a[10])。如果target=a[5], 则返回中间索引值(5)。如此反复。

9、数据结构和算法最重要的概念是什么?

  1. 复杂度分析
  2. 占据了数据结构和算法的半壁江山
  3. 是一种能够分析效率和资源消耗的方法

10、时间复杂度越高,执行效率就越低吗?

  1. 理论上时间复杂度越高,执行效率就越低。
  2. 但实际上时间复杂度与执行时间并不划等号
  3. 一定场景中O(logn)要比O(1)算法还要快(目前我还不知道,王争在后面会去讲)

问题汇总(13)

  1. 数据结构的定义是什么?

  2. 用自己的话简单讲讲什么是数据结构?

  3. 算法的定义是什么?

  4. 用自己的话简单讲讲什么是算法?

  5. 数据结构和算法有什么关系?

  6. 为什么二分查找算法适用于数组而不适用于链表?

  7. 什么是随机访问?

  8. 什么是二分查找算法?

  9. 数据结构和算法最重要的概念是什么?

  10. 时间复杂度越高,执行效率就越低吗?

  11. 【☆】什么是顺序访问?

    链表在内存中不是按顺序存放的,而是通过指针连在一起,为了访问某一元素,必须从链头开始顺着指针才能找到某一个元素

  12. 【☆】什么是顺序存储结构?

    1. 顺序存储结构是存储结构类型中的一种
    2. 该结构是把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。
  13. 【☆】什么是随机存储结构?

    1. 如链表,逻辑上节点是顺序访问的,但是在存储时可能存储在不连续的内存区域中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值