zoukankan      html  css  js  c++  java
  • 《计算机程序设计艺术》摘录(一)

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

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

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

    3.输入;

    4.输出;

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

    信息结构

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

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

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

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

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

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

    3.删除第K个节点

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

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

    6.复制一个线性表

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

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

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

    线性表中特殊的名字:

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

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

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

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

    就把他们从栈中删除。



  • 相关阅读:
    gradle平级项目引用
    java使用ssh访问Linux的项目jscraft
    debian更新源时找不到公钥的解决办法
    debian系在线安装软件apt-get命令族
    vim打造开发IDE
    Mysql主从同步配置
    byte[] 转Hex String
    记录一次条件比较多的SQL查询语句
    LruCache的缓存策略
    LinkedHashMap的实现原理
  • 原文地址:https://www.cnblogs.com/xixiaohui/p/2042930.html
Copyright © 2011-2022 走看看