PHP 开发技术分享

数据结构学习记录--基本概念(一)

2022-09-01  本文已影响0人  phpworkerman
前言

该学习参考的书籍为《大话数据结构》,需要一定的数学底子和编程思维,一个真正的程序员怎么能不懂数据结构和算法,既然自己的发展方向是技术,那就只能坚持!

数据结构的基本概念
数据结构的分类

按照视点的不同,数据结构分为逻辑结构和物理结构

逻辑结构是面向问题的,而物理结构是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存中

算法的基本概念

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作

通常把(3)作为正确性标准,(4)实现成本太高

2、可读性:算法设计的另一个目的是为了便于阅读、理解和交流
3、健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果
4、时间效率高和存储量低:指执行时间短、占用内存和外部硬盘存储空间少

算法效率的度量方法

算法效率的度量方法,通常说的是执行时间的度量,有事后统计方法和事前分析估算方法

其中抛开硬件和软件的因素,程序运行时间依赖于(1)(2)

测定运行时间

测定运行时间最可靠的方法就是计算对运行时间有消耗的基本操作的执行次数,运行时间与这个计算成正比。分析算法的运行时间时,重要的是把基本操作的数量与输入规模关联起来,即基本操作的数量必须表示成输入规模的函数

常数阶,表示为O(1),执行时间恒定与输入规模无关,对于分支结构if...else,无论真假,执行的次数都是恒定的,也是O(1)
线性阶,表示为O(n),分析循环结构的运行情况
对数阶,表示为O(logn)

上一篇 下一篇

猜你喜欢

热点阅读