• 《计算机程序设计艺术》摘录(一)


    一个算法只不过是一组有穷的规则,这些规则给出求解特定类型问题的运算序列;但除此之外,一个算法还有五个特征:

     1.有限性;一个算法在有限步骤之后必然要终止。

    2.确定性;一个算法的每个步骤都必须精确的定义。

    3.输入;

    4.输出;

    5.能行性。一个算法一般认为是能行的(或称有效的),其含义是指它的所有运算都必须是充分基本的,因而原则上人们用笔和纸都可在有限的时间内精确的完成他们。

    信息结构

    计算机程序通常都是对一些信息表进行的操作。这些表并不仅仅是杂乱无章的数值集团;它们含有数据元素之间重要的结构关系。

    计算机表示的设计依赖于对数据所要求的功能,以及它的固有性质。对功能与形式的强调一般说来对于设计问题是很基本的。

    计算机的存储器是按它们的应用来分类的。

    对线性表我们可能要实施的运算包括例如下面这些:

    1.访问表的第K个节点以考察和/或改变它的字段的内容。

    2.在第K个节点之前或之后插入一个新的节点

    3.删除第K个节点

    4.把两个或者更多的线性表组合成一个线性表

    5.把一个线性表拆分成两个或者更多的表

    6.复制一个线性表

    7.确定在一个表中的节点个数

    8.基于节点的某些字段把表的节点排成递增的顺序

    9.在表中查找在某个字段中具有特定值的一个节点

    线性表中特殊的名字:

    1.栈 所有的插入和删除都在表的一端进行的一种线性表

    2.队列 所有的插入在表的一段进行,而所有的删除在表的另一端进行的一种线性表

    3.双端队列 是所有的插入和删除在表的两端进行的一种线性表

    我们在解决下列这样的问题的时候,我们心里总是想着“栈”:一个问题导致另一个问题,而它又导致另一个问题;我们把问题和子问题压入栈中,并且在解决了他们之后

    就把他们从栈中删除。



  • 相关阅读:
    面试题|Docker的优缺点
    【华为出品】物联网全栈开发实战营来啦!送海思双目开发板
    Nginx实战|Nginx健康检查
    Linux中几个正则表达式的用法
    盘点提高国内访问 Github 的速度的 9 种方案
    一行代码如何隐藏 Linux 进程?
    (二)类加载机制与反射:类加载器
    (一)类加载机制与反射:类的加载,连接和初始化
    (八)多线程:线程相关类
    (七)多线程:线程池
  • 原文地址:https://www.cnblogs.com/xixiaohui/p/2042930.html
Copyright © 2020-2023  润新知