数据结构基础(一)

来源:互联网 发布:u center软件 编辑:程序博客网 时间:2024/04/28 03:06

数据结构分为两种结构

注:数据结构是相互之间存在一种或多种特定关系的数据元素的集合

    1.逻辑结构:数据对象中数据元素之间的互相关系        分为四种            1>集合结构:数据元素同属于合集            2>线性结构:数据元素是一对一的关系            3>树形结构:数据元素是一对多的关系            4>图形结构:数据元素是多对多的关系    2.物理结构:数据的逻辑结构在计算机中的存储形式        分为两种            1>顺序储存结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。(排队占位)            2>链式储存结构:把数据元素存放在任意的储存单元里,这组储存单元可以是连续的,也可以是不连续的。(需要用一个指针存放数据元素的地址)

抽象数据类型

注:抽象数据类型体现了程序设计问题分解、抽象和信息隐藏的特性。

1.数据类型:指一组性质相同的值的集合及定义的在此金河上的一些操作的总称。

数据结构与算法关系

注:算法是为了理解和运用数据结构

算法的特性

具有五个基本特性:    1>输入和输出:算法具有零个或多个输入。算法至少有一个或多个输出。    2>  有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在接受的时间内完成。    3>  确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。    4>  可行性:算法的每一步都必须是可行的(每一步都够通过执行有限次数完成)。

算法的设计要求

注:设计算法应该尽量满足时间效率和储存低的要求

    1>正确性:算法的正确性是指算法至少应该具备有输入、输出和加工处理无岐义性、能正确反映问题的需求、能够得到问题的正确答案。    2>可读性:算法设计的另一目的是为了便于阅读、理解和交流。    3>健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其秒的结果。

算法效率的度量方法

分为两种    1>事后统计方法:这种方法主要时通过设计好的测试程序和数据,利用计算机计时器对不同算法比阿智的程序的圆形时间进行比较,从而确定算法效率的高低(缺陷太多)    2> 事前分析估算方法:在计算机程序编制前,依据统计方法对算法进行估算。            程序在计算机上运行时所消耗的时间取决于下列因素:                1.算法采用的策略、方法。                2.编译产生的代码质量。                3.问题的输入规模。                4.机器执行指令的速度。            第一条当然时算法好坏的根本,第2条要有软件来支持,第4条要看硬件性能。    注:一个程序的运行时间,抛开与计算机硬件、软件有关的因素,更依赖于算法的好坏和问题的输入规模。(问题输入的规模是指输入量的多少)
1 0
原创粉丝点击