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


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

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

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

    3.输入;

    4.输出;

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

    信息结构

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

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

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

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

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

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

    3.删除第K个节点

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

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

    6.复制一个线性表

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

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

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

    线性表中特殊的名字:

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

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

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

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

    就把他们从栈中删除。



  • 相关阅读:
    递归寻找子节点的所有父节点(父,爷,祖等)
    nodemon在VSCODE中 调试nodeJS的使用方法
    JavaBean转Map工具类
    command line is too long. shorten command line for xxx的解决方法
    Stream流中collect方法
    vue组件传值的方法有哪些
    Collectors.toMap 使用技巧 (List 转 Map超方便)
    Vue formcreate的基本使用
    报错:Unable to load authentication plugin ‘caching_sha2_password‘.
    ElementUi中eltable分页效果,前端控制分页
  • 原文地址:https://www.cnblogs.com/xixiaohui/p/2042930.html
Copyright © 2020-2023  润新知