第一章 基础知识

相关定义

1. 数据

数据是信息的载体,是对客观事物的符号表示,它能够被计算机程序识别、存储、加工数据是信息的载体,是对客观事物的符号表示,它能够被计算机程序识别、存储、加工和处理。
2. 数据结构

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 它可以从逻辑结构和存储结构二个层面刻画。
3. 数据的逻辑结构

客观事物自身所具有的结构特点,是各个数据元素之间的逻辑关系,是呈现在用户面前的、能感知到的数据元素的组织形式。客观事物自身所具有的结构特点,是各个数据元素之间的逻辑关系,是呈现在用户面前的、能感知到的数据元素的组织形式。
4.抽象数据类型

隐藏了数据的存储结构并且不涉及操作的实现细节的数据类型(比如java中的抽象类、接口)。

逻辑结构和存储结构

数据结构图

算法相关内容

1.算法

算法表示的是一个问题的求解步骤,而程序则是算法在计算上的特定实现。
2.设计算法需要考虑的问题

正确性
可读性
健壮性(能检查错误并进行相应的处理)
高效率(时间和空间上来反应)
3.时间复杂度分析

影响程序执行时间的因素有:
(1)算法本身所采用的策略
(2)问题规模即处理问题时所处理的数据元素的个数
(3)程序设计所采用的语言工具
(4)编译程序所产生的代码质量
(5)计算机执行指令的硬件速度
(6)程序运行的软件环境

考虑算法与问题规模的关系,一般只要求出该算法的语句执行的总次数,然后得到一个与元素个数的多项式,用大O表示法T(n)=O(f(n)) 保留最高次幂,去掉其余系数即可。
4.空间复杂度分析

程序运行所需的存储空间包括二部分:
(1)固定空间需求,这部分空间大小与问题规模没有关系,主要包括算法本身的程序代码、常量、变量所占用的空间。
(2)可变空间需求,与所处理问题的规模有关。主要包括输入的数据元素占用的空间和程序运行过程中所占用的额外空间。如运行递归算法时的占空间和临时工作单元。
5.算法设计常用方法

穷举法、动态规划法、回溯法、分治法、贪心法和递归法…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值