数据结构基础知识总结

一、数据结构的基本概念

1、数据
描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号集合
2、数据元素
是组成数据的有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录
3、数据项
一个数据元素可以有若干个数据项组成。数据项是数据不可分割的最小单位

二、 数据结构

数据结构:相互之间存在一种或者多种特定关系的数据元素的集合
这里写图片描述

三、 算法

1、算法
解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,每条指令可表示为一个或多个操作
2、算法的特性
输入、输出、有穷性、确定性、可行性
3、设计算法的要求
正确性、可读性、健壮性、时间效率高且空间使用率低、简单性
时间复杂度
是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。
计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。
一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。
这里写图片描述
总的执行次数:f(n) = n^2+2*n+10;

算法存在最好、平均和最坏的情况

1、最坏情况:任意输入规模的最大运行次数(上界)
2、平均情况:在任意输入规模期望运行次数
3、最好情况:任意输入规模的最小运行次数,通常最好情况不会出现(下界)

在实际中一般关心的都是算法最坏的运行情况

一般情况下使用O渐进表示法来计算算法的时间复杂度

时间复杂度之大O渐进表示法

一个算法语句总的执行次数是关于问题规模N的某个函数,记为f(N),N称为问题的规模。语句总的执行次数记为T(N),当N不断变化时,T(N)也在变化,算法执行次数的增长速率f(N)的增长速率相同,则有T(N) = O(f(N)),称为O(f(n))为时间复杂度的O渐进表示法。

空间复杂度
是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。
常见算法的复杂度表示
这里写图片描述

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值