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

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

本文转载: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) 网状结构

六、计算机软件技术

    (一 ) 定义:研制开发计算机软件所需的所有技术的总称
    (二 ) 组成:软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、网络软 件技术、与实际工作相关的软件技术
    (三 ) 软件开发环境:相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模 型组织而成
相关文章
|
25天前
|
设计模式 算法 测试技术
【软件设计师备考 专题 】标准化知识:意识和发展(一)
【软件设计师备考 专题 】标准化知识:意识和发展
44 0
|
25天前
|
网络协议 算法 安全
【软件设计师备考 专题 】标准化知识:意识和发展(二)
【软件设计师备考 专题 】标准化知识:意识和发展
26 0
|
3月前
|
自然语言处理 安全 Java
计算机软件知识
程序是软件的重要组成部分,一台计算机中的全部程序和数据就构成了这台计算机的软件系统
|
3月前
|
人工智能 前端开发 JavaScript
计算机毕业论文|校园资料分享系统的设计与实现
计算机毕业论文|校园资料分享系统的设计与实现
|
10月前
|
存储 人工智能 监控
计算机基础——计算机应用领域以及未来发展趋势
计算机基础——计算机应用领域以及未来发展趋势
389 0
|
存储 缓存 算法
软考中级软件设计师自我总结知识分享--标准化和软件知识产权基础知识
该系列文章全篇文字在10w+,全文都是自己备考中的干货,软考涉及很多计算机基础,数据结构,算法分析,编程思想,开发流程等等,不仅适合参加软考的人学习,也适合扩宽自己知识视野的人去学习,每一篇都将会把重点加粗处理,特别是易错点,考试常考平时也容易记错,请一定仔细看
111 0
计算机应用基础——计算机软件(一)
计算机应用基础——计算机软件(一)
401 0
计算机应用基础——计算机软件(二)
计算机应用基础——计算机软件(二)
77 0
计算机应用基础——计算机软件(二)
|
存储
计算机应用基础——计算机硬件(四)
计算机应用基础——计算机硬件(四)
198 0
|
存储
计算机应用基础——计算机硬件(一)
计算机应用基础——计算机硬件(一)
231 0
计算机应用基础——计算机硬件(一)