码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构-----(绪论)

时间:2017-07-05 11:32:03      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:大量   基本   队列   指针   存储结构   计算   线性结构   nbsp   集合   

1.数据结构的三要素: 

        1.逻辑结构: 是指元素之间的逻辑关系,与存储无关.包括线性结构和非线性结构。

                                             a、线性结构的典型特征是最多只有一个前驱和一个后继。如 堆栈、队列、串(三个受限线性表);线性表、数组。。。

                                             b、非线性不一定,如树、图、集合

         2、存储结构:在计算机中的存储形式 包括元素的表示(依据数据类型)和数据之间的关系

                                           a、顺序存储:逻辑上相邻的元素 物理存储也相邻.优点:随机存取 缺点:只能使用一块相邻的存储单元 可能产生很多外部碎片

                                           b、链接存储:不要求逻辑相邻一定物理相邻,借助指示元素存储元素位置的指针表示元素之间的逻辑关系。优点:可以充分利用存储单元,不会产生碎片现象  缺点;只能顺序存取,而且指针占有额外的存储空间。

                                           c、索引存储:建立索引表存储元素的位置

                                           d、散列存储:根据元素的关键字直接计算其存储位置,优点 增删改都很快。 缺点;如果散列函数选取不当,会有大量计算冲突时间开销和空间开销

ps:链式存储设计时,各个不同节点的存储空间可以不连续,但节点内的存储单元地址则必须连续

数据的逻辑结构独立于其物理存储结构

 

2、算法的特性

               有穷性:在有穷时间内执行结束

               确定性:每一条指令(每一个操作)必须有确定的含义,不能二义性

               可行性:一个算法的操作都可以转化为基本操作执行

               输入:

               输出:有输入和输出

3、常见的渐进复杂度比较

     O(1)<O(log2^n)<O(n)<O(nlog2^n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)

       空间复杂度:定义算法所消耗的存储空间

 

数据结构-----(绪论)

标签:大量   基本   队列   指针   存储结构   计算   线性结构   nbsp   集合   

原文地址:http://www.cnblogs.com/abstract-fabulous/p/7119868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!