zoukankan      html  css  js  c++  java
  • 数据结构和算法(一)概念

    程序设计

    程序设计 = 数据结构+算法

    数据结构概念

    1.数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。

    2.数据结构是数据元素之间存在的一种或多种特定关系的集合。

    数据结构分为逻辑结构和物理结构

    4.逻辑结构:逻辑结构:是指数据对象中数据元素之间的相互关系,也是我们今后最需要关注和讨论的问题   

      集合结构:数据对象中的元素,同属于一个集合(除此无关系,中国人,同属于中国 )

      线性结构:数据元素对象是一对一的关系(人和身份证号码)

     树形结构:数据元素之间存在的关系是一种一对多的层次关系(一个人多种身份:一对多)

        图形结构:数据元素之间是多对多的关系(人与人认识,就是多对多)

    5.物理结构:是指把数据元素存储到计算机的存储器中

         存储器主要针对内存而言,外部的存储器包括:硬盘、软盘、光盘、U盘等。外部存储器的数据组织通常用文件结构来描述

         数据元素的存储结构形式有两种:顺序存储和链式存储。

         顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的   (数组,理想意义上的排队,位置决定顺序)

        链式存储结构:是把数据元素存放在任意存储单元中,这组存储单元可以是连续的,也可以是不连续的。(银行取号,人的位置是任意,随机的)

                                 数据结构的存储关系并不能反映其逻辑关系,因此需要一个指针指向下一个存放数据元素的地址,这样通过地址就可以找到相关联数据元素位置,将不同位置的元

                                 素连起来。

    算法

    算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。

    算法包括五个基本特征

    输入:算法具有零个或多个输入(调用的方法可以有参数或没有参数)

    输出:算法至少有一个或多个输出(返回计算结果)

    有穷性:算法的执行步骤是有限的,执行规定步骤之后会自动结束,而且每个步骤都在可接受时间完成,不会无限循环。

    确定性:算法的每一步是确定的,在固定条件下只有一条执行路径,相同的输入只有唯一的一种结果。

    可行性:算法的每一步必须是可行的,每一步都可以执行有限次数完成。

    算法设计的要求

     1.正确性:算法至少应该具有输入输出和加工处理无歧义性,能正确反映问题的需求、能够得到问题的正确答案。

     分为四个层次:

          1、算法程序没有语法错误

           2、算法程序对于合法输入能够产生满足要求的输出

           3、算法程序对于非法输入能够产生满足规格的说明(提示要求正确的输入)

           4、算法程序对于故意刁难的输入都有满足要求的输出结果(提示输入错误等信息)

    2.可读性:便于阅读理解和交流,加上注释

    3.健壮性:当输入 数据不合法的时候,算法也能做出相关处理,而不是产生异常,奔溃或莫名其妙的结果。

    4.时间效率高和存储量低

    图解关系

     

  • 相关阅读:
    Linux 信号:signal 与 sigaction
    Linux shell(1)
    【Beta阶段】第一次scrum meeting
    【Beta阶段】计划安排
    团队作业7——Alpha冲刺之事后诸葛亮
    团队作业5——测试与发布(Alpha版本)
    【Alpha阶段汇总】成果展示与体验总结
    【Alpha阶段】第七次scrum meeting
    【Alpha阶段】第六次scrum meeting
    【Alpha阶段】第五次scrum meeting
  • 原文地址:https://www.cnblogs.com/xuqp/p/9286608.html
Copyright © 2011-2022 走看看