计算机应用基础——计算机软件(三)

本文探讨了算法和数据结构在计算机软件中的核心地位。算法是解决问题的方法与步骤,强调确定性、有穷性、能行性、输入和输出等特性,并通过伪代码、流程图等形式描述。数据结构涉及逻辑结构、物理存储结构和运算,包括集合、线性、树形和网状结构。文章还提到了算法的时间代价和空间代价分析,以及软件开发环境的重要性。

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

计算机应用基础——计算机软件(一)_萧风的博客-CSDN博客

计算机应用基础——计算机软件(二)_萧风的博客-CSDN博客


五、算法和数据结构

        (一 ) 程序 = 数据结构 + 算法 (瑞士 计算机科学家 尼·沃思)
                1. 软件的主体是程序,程序的核心是算法,数据结构能使算法有效的实现
                2. 算法和数据结构之间关系密切,算法建立在数据结构基础上,数据结构不同时,对应问题的 求解算法也有差异
        (二 ) 算法:
                1. 定义:解决问题的方法与步骤
                2. 地位:计算机科学就是研究 算法 的学问(尼·沃思)
                3. 性质:
                        (1) 确定性:算法的 每一个运算必须有确切的定义 ,即每一个运算应该执行何种操作必须是 清楚明确的,无二义性
                        (2) 有穷性 (可终结性):有限步运算后终止
                        (3) 能行性 :算法中有待实现的运算都是 可执行的 ,即在计算机的能力范围之内,且在有限 的时间内能够完成
                        (4) 输入:具有 0 个或多个输入
                        (5) 输出 至少 1 个输出
                4. 描述工具:
                        (1) 文字说明、流程图、 伪代码 (介于自然语言和程序设计语言之间的文字和符号表达工具)、 程序设计语、决策表 ……
                        (2) 根据需要选择使用
                5. 算法与程序的区别:
                        (1) 程序是算法的具体实现
                        (2) 程序可以无穷,算法必须有穷
                        (3) 程序中的语句必须是机器可执行的,算法中的操作则不此限
                        (4) 算法与程序是相应的,但不一一对应
                6. 算法分析
                        (1) 时间代价
                                A. 定义:依据算法编制为程序后在计算机中运行时所耗费的时间,记为 T(
n
                                B. 若 T( n = 2n 3 +3n 2 +2n+1 ,则 T(n) O(n 3 )
                                C. 排序(按数量级递增):常数阶 O(1)、对数阶 O(log 2 n) 、线性阶 O(n) 、线性对数阶 O(nlog2n) 、平方阶 O(n ² ) 、立方阶 (n ³ ) K 次方阶 O(n K ) 、指数阶 O(2ⁿ)
                                D. 若程序需反复运行多次,则应重点考虑时间代价,选用快速的算法
                        (2) 空间代价 和求解问题的规模关系密切
                7. 算法设计:
                        (1) 一般采用 由粗到细、由抽象到具体 的逐步求解的方法
                        (2) 对于同一个问题可采用不同的算法去解决,但不同的算法具有不同的效率
        (三 ) 数据结构
                1. 内容:
                        (1) 数据的 逻辑结构 用于抽象地反映数据元素之间的约束关系而不考虑其在计算机中的存 储方式
                        (2) 数据的 物理存储结构 数据的逻辑结构在计算机存储器上的实现
                        (3) 数据的 运算
                2. 常用的数据结构:
                        (1) 集合结构
                        (2) 线性结构( 线性表是由若干同类 型数据元素组成的有限序列,其
中任意两个数据元素之间具有先 后关系
                        (3) 树形结构
                        (4) 网状结构

六、计算机软件技术

        (一 ) 定义:研制开发计算机软件所需的所有技术的总称
        (二 ) 组成:软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、网络软 件技术、与实际工作相关的软件技术
        (三 ) 软件开发环境:相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模 型组织而成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaochuhe--kaishui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值