数据结构(C语言版清华严蔚敏)

本文详细介绍了数据结构和算法的基础知识,包括数据、数据结构、数据类型、算法及其特性,以及算法设计的要求和效率度量。强调了算法的有穷性、确定性、可行性、输入输出特性,并探讨了时间复杂度和空间复杂度的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面的话

本系列参考书目: 清华大学出版社 《数据结构》(C语言版)

在这里插入图片描述

第一章、绪论

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等学科。



前言

记录自己重新学习数据结构(C语言版),谁让我是个菜鸡呢😭


一、基本概念与术语

下面将对一些概念和术语赋予以确定的含义

1.数据

数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中,并被计算机程序处理的符号的总称。😏

2.数据结果

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。😎

3.数据类型

数据类型是和数据结构密切相关的一个概念,它最早出现在高级程序语言中,用于刻画(程序)操作对象的特性。😳

4.算法

算法是对特定问题求解步骤的一种描述,它是指指令的有限序列,其中每一条指令表示一种或多个操作,此外,一个算法还具有下列五个重要特性。😆

🌟特性🙋解释
有穷性一个算法必须总是对任何合法的输入值在执行有穷不之后结束,且每一步都可在有穷时间内完成。
确定性算法中每一条指令必须有确切的含义,读者理解时不会产生二义性,并且在任何条件下,算法只有唯一的一条执行路径,且对于相同的输入只能得出相同的输出。
可行性一个算法是能行的,及算法中描述的操作,都是可以通过已经实现的基本运算执行,有限次来实现的。
输入一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。
输出一个算法有一个或多个的输出,这些输出是同输入有着某种特定关系的量。

5.算法设计的要求

通常设计一个“好”的算法应考虑达到以下目标。

⛳️目标🙋解释
正确性算法应当满足具体问题的需求
可读性算法主要是为了人的阅读与交流,其次才是机器执行
健壮性当输入数据非法时,算法也能适当的做出反应或进行处理,而不会产生莫名其妙的输出结果
效率与低存储量需求通俗的说,效率指的是算法执行的时间。

6.算法效率的度量

  1. 随着问题规模N的增大,算法执行时间的增长率和 f(n) 的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度
    T ( n ) = O ( f ( n ) ) T(n)= O(f(n)) T(n)=O(f(n))
  2. 以空间复杂度作为算法所需存储空间的度量。简称空间复杂度
    S ( n ) = O ( f ( n ) ) S(n)= O(f(n)) S(n)=O(f(n))

总结

本章主要介绍了关于数据结构的基本知识,包含了数据、数据类型、数据结构、算法、算法分析的基本概念,采用大 O 形式表示时间或空间复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值