Category - 数据结构

2024-03-26 17:25:28    6    0    0

事后统计方法:必须依据算法实现编制好测试程序、通常需要花费大量的时间和精力。

事前分析估算方法:在计算机程序编写前、依据统计方法对算法进行估算。

 

运行时所耗时间依据:

    1、算法代用的策略 方案

    2、编译产生的代码质量(取决于编译器等因素)

    3、输出规模

    4、机器执行命令的速度(计算能力) 

 

用计算的操作次数 可以粗略评估算法效率

比如  用 输入值大小 和 计算值大小 画出平面直角坐标系 图

分析输入次数和计算次数

 


顺带 可以忽略掉常量

3n+2

2n+3

比如比较如上2个算法的效率区别

其实在n的值非常大的情况下 后面的小常量 基本可以忽略



与最高次项相乘的常数也并不重要、也可以忽略



结论、判断一个算法的效率时、函数中的常数和其他次要项可以忽略、

更应该关注主项(最高项)的阶数

 

2024-03-26 17:25:28    6    0    0


算法是解决特定问题求解步骤的描述、

算法不是唯一的、同一个问题可以有多种解决问题的算法。

 

算法5个特征:

 

1、输入  (0个或者多个)

2、输出 (1个或者多个输出、即算法目的)

3、有穷性(且每一个步骤在可接受时间范围内)

4、确定性(每一个步骤都有确定意义、不会出现二义性、无歧义)

5、可行性

 

尽管算法不唯一、掌握好的算法对解决问题的能力总有提升

 

 

算法的要求

1、正确性 

    算法无语法错误

    对于合法的输入能够产生满足要求的输出

    对于非法输入能够产生满足规格的说明

    对于故意刁难的测试输入都有满足要求的输出结果

 

2、可读性

    算法设计另一目的是为了便于阅读、理解、交流、日后便于修改。

 

3、健壮性

    当输入数据不合法是、算法也能做出相关处理

    而不是崩溃、异常等情况

 

4、时间效率高、存储量低

 

 

 

 

2024-03-26 17:25:28    18    0    0

逻辑结构:

    集合结构

    线性结构(0-0-0-0)

    树形结构(类似金字塔关系)

    图形结构(多对多)


物理结构:

    实际上就是数据元素存储到计算机的存储器中、(一般指的是RAM)

    2种存储方式 顺序存储和链式存储

    顺序存储:

是在连续的存储单元里

        逻辑关系和物理关系是一致的


    链式存储:

    是吧数据元素放在任意的存储单元里、可以是连续的也可以不是连续的

    需要指针来存放数据元素的地址、通过地址可以找到关联数据的位置

2/2