数据结构与算法的基本概念-创新互联

前言

技术学得再多,再好还不如将基础学扎实。欠下的迟早是要还的。与其在以后后悔当初不好好学,还不如在大学期间将该学的知识学透。《数据结构与算法》确实不好学,但大学四年下来,还怕啃不下一本书??正是基于这样的目的,我又重新拿起了数据结构,但盲目的自学只会毁了你(效果不大)。老规矩,学习方式还是通过视频+编程+书籍三管齐下,最后通过博客输出实现实时回顾。希望每天能按质按量的学习吧!!!

创新互联为客户提供专业的成都网站设计、网站建设、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。
数据元素的基本概念  1.数据

数据(data)是信息的载体,

2.数据元素

数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。而构成数据元素的不可分割的最小单位称为数据项。

 

3.数据结构

数据结构是指相互之间存在一定关系的数据元素的集合。数据元素是讨论数据结构时涉及的最小数据单位,其中的数据项一般不考虑。按照视点的不同,数据元素是讨论数据结构分为逻辑结构和存储结构。

逻辑结构

根据元素逻辑关系的不同分类:

①集合:数据元素之间就是"属于同一集合"

②线性结构:数据元素之间存在一对一的线性关系。

③树结构:数据元素之间存在一对多的层次关系。

④图结构:数据元素之间存在多对多的层次关系。

存储结构

数据的存储结构又成为物理结构,是数据及逻辑结构在计算机中的表示。

通常又两种存储结构:顺序存储结构和链式存储结构。

顺序存储结构是用一组连续的存储单位依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。链式存储是用一组任意的存储单位存储数据元素,数据元素之间的 逻辑关系用指针表示。

算法的基本概念 1.什么是算法?

算法是对特定问题求解步骤的一种描述,是指令的有限序列。

2.什么是“好”算法

好算法满足算法的五个特性:

① 正确性 ②健壮性 ③可理解性 ④高效性

算法的描述方式

①自然语言 ✎优点:容易理解。缺点:冗长。

②流程图 ✎优点:直观易懂。缺点:灵活性差。

③程序设计语言 ✎优点:能由计算机直接执行。缺点:抽象性差。

④伪代码 ✎优点:介意自然语言和设计语言之间,比较适合描述算法。被称为“算法语言”或第一语言。

3.算法分析

如何去度量一个算法的效率呢?通常有两种方法:一种方法是事后统计法,先将算法实现,然后输入适当的数据运行,测算时间和空间开销。通常我们采用事前分析估计的方法——渐进复杂度

4.算法的时间复杂度

为了客观反映一个算法的执行时间,可以用算法中基本语句的执行次数来度量算法的工作量。基本语句是执行次数与整个算法的执行次数成正比的语句,基本语句对算法的运行时间贡献大,是算法中最重要的操作。

算法分析举例

++x;

++x是基本语句,执行次数为1,时间复杂度为o(1),称为常量阶。

for(i=1;i<=n;i++)
{
   x+=5;

}

x+=5是基本语句,执行次数为n,时间复杂度为O(n),称为线性阶。

for(j=1;j<=n;j++)
for(i=1;i<=n;i++)
{

  ++x;

}

++x是基本语句,执行次数为n^{2},时间复杂读为O(n^{2}),称为平方阶。

for(i=1;i<=n;++i)

 for(j=1;j<=i-1;++j)
      ++x;

解:++x是基本语句,执行次数为:,所以时间复杂度为O(n2)。分析的策略是从内部(或最深层部分)向外展开。

for(i=1;i<=n;i=2*i)

         ++x;

解:++x是基本语句,设其执行次数为T(n),则有2T(n)≤n,即T(n)≤log2n,所以时间复杂度为O(log2n),称为对数阶

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:数据结构与算法的基本概念-创新互联
文章起源:http://ybzwz.com/article/djjjoo.html