【数据结构】初步了解数据结构和算法

数据结构和算法

第一章 什么是数据结构 在这里插入图片描述



前言

“数据结构”是计算机相关专业的专业基础课程之一是一门十分重要的核心课程,主要学习用计算机实现数据组织和数据处理的方法。


一、什么是数据结构?

第一节 概论

重要的几个概论

  • 数据:计算机加工的对象

    • 比如:数字,字符,声音,光,图形,图像等均为数据。
  • 信息:数据经过加工后,有用的数据。

  • 数据和信息的关系

    • 数据是信息的载体(信息以数据的形式发布出来的)

    • 并不是所有数据都能形成的信息。

二、数据结构

定义

  • 数据之间的关系
    • 位置关系
    • 特征关系
    • 存储关系等

结点/元素

  • 研究问题的对象
    • 每个结点/元素均由数据组成

数据结构分为两大类

  • 数据逻辑结构
    • 数据之间外在的关系
      • 线性结构
      • 非线性结构
  • 数据的物理结构
    • 数据在计算机中的存储结构
      • 顺序结构
      • 非顺序结构

三.数据结构的研究内容

  • 研究数据的逻辑结构
  • 研究数据的物理结构
  • 研究他们之间的相互运算(算法)

四.日常生产活动中有三大数据结构(指逻辑结构)

  • 线性表
    • 线性结构数据
  • 树结构
    • 层次结构数据
  • 图(网络)结构数据

第二节 算法及其时间复杂度

算法
  • 定义

    • 计算机解决问题的步骤(所研究问题的核心)
  • 算法的描述方法

    • 流程图(N-S结构图)

    • 自然语言(汉语,英语等)

  • 类语言(类似某种语言)

    • 大部分类C语言
  • 算法的五大特性

    1. 有穷性—一个算法的步骤是有限的
    2. 可行性—一个算法的每个步骤都是可执行的
    3. 确定性—一个算法的每个成分的含义是唯一的无二义性
    4. 输入性—一个算法有n个输入(n>=0)
    5. 输出性—一个算法有n个输出(n>0)
  • 算法与程序的区别

  1. 算法是有穷的,而程序可以是无穷的

举例:累加的程序是无穷的

main()float x,s=0;
	L: scanf("%f",&x);
  		s=s+x;
  		printf ("x=%f,s=%f\n",x,s);
	goto l;
  1. 程序是可执行的
  • 在一般情况下算法是不可执行的
算法的时间复杂度
  • 语句的频度

    • 算法中语句的执行次数
  • 语句的执行次数说明

    for(i=1;i<=n;i++)

    • 该循环的判别次数为n+1

    • 循环体执行次数为n

    • 选择语句执行次数为1次

    • 赋值,输入,输出语句执行次数为1次


总结

以上是数据结构的基础大纲和概要!
下篇深入讲解具体知识,持续更新中!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

木梓辛铭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值