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

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

本文转载:https://xiaochuhe.blog.csdn.net/article/details/122937438
五、算法和数据结构

    (一 ) 程序 = 数据结构 + 算法 (瑞士 计算机科学家 尼·沃思)
            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) 网状结构

六、计算机软件技术

    (一 ) 定义:研制开发计算机软件所需的所有技术的总称
    (二 ) 组成:软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、网络软 件技术、与实际工作相关的软件技术
    (三 ) 软件开发环境:相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模 型组织而成
相关文章
|
自动驾驶 新制造 智能硬件
电子信息工程专业在生活中的好处
电子信息工程专业在生活中的好处是多方面的。首先,它推动了通信技术的进步,使人们可以更加便捷地进行远程通讯,促进了社会的交流和发展。其次,电子信息工程专业对信息技术的发展起到了重要的推动作用,使人们更加便捷地获取信息,包括在线教育、电子商务、社交网络等。此外,电子信息工程专业的发展推动了各种电子设备的进步,提高了生活质量。同时,该专业的技术在医疗领域的应用取得了重大进展,提升了医疗服务的水平。另外,电子信息工程专业的技术也被广泛应用于环境监测与保护领域,有助于保护环境,改善人们的生活环境。最后,电子信息工程专业的技术推动了自动化与智能化的发展,使得生产、生活更加智能化和高效化。总的来说,电子信息
419 0
|
存储 编解码 Windows
【大学计算机技术】第二章 测试 1
【大学计算机技术】第二章 测试
61 0
|
存储 编解码 算法
【大学计算机技术】第二章 测试 2
【大学计算机技术】第二章 测试
103 0
|
存储 编解码 芯片
【大学计算机技术】第二章 测试 5
【大学计算机技术】第二章 测试
204 0
|
存储 自然语言处理 算法
【大学计算机技术】第二章 测试 3
【大学计算机技术】第二章 测试
69 0
|
数据库管理
【大学计算机技术】第五、六章 测试
【大学计算机技术】第五、六章 测试
49 0
|
6月前
|
自然语言处理 安全 Java
计算机软件知识
程序是软件的重要组成部分,一台计算机中的全部程序和数据就构成了这台计算机的软件系统
|
安全 网络协议 网络安全
【大学计算机技术】第七章 测试 2
【大学计算机技术】第七章 测试
59 0
|
分布式计算 安全 网络协议
【大学计算机技术】第七章 测试 4
【大学计算机技术】第七章 测试
134 0
|
安全 Java 网络安全
【大学计算机技术】第七章 测试 1
【大学计算机技术】第七章 测试
42 0