博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构学习心得系列(一)
阅读量:6257 次
发布时间:2019-06-22

本文共 963 字,大约阅读时间需要 3 分钟。

本博文意在巩固基础知识,高手请绕过。

 

数据结构(data structure):数据元素和数据元素关系的集合

数据结构包括逻辑结构和物理结构两个层次。

  逻辑结构

    数据的逻辑结构有两个要素:数据元素、关系

    数据逻辑结构层次关系图

      

  物理结构

    物理结构又叫存储结构,存储结构在计算机中主要分两中基本的存储结构:顺序存储结构和联是存储结构。

    顺序存储结构:借助元素在存储器中的相对位置来表示数据元素间的逻辑关系,数据元素存放的地址是连续的;

    链式存储结构:借助指示元素存储地址的指针表示数据元素间的逻辑关系,数据元素存放的地址是否连续没有要求。

    在C语言中,用一维数组表示顺序存储结构;用结构体类型表示链式存储结构。

数据的逻辑结构与存储结构密切相关

    算法设计——〉逻辑结构

    算法实现——〉存储结构

算法

  算法:解决某一特定问题的具体步骤的描述,是指令的有限序列

  算法特性:

    有穷性: 一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。

    确定性:算法中每一条指令必须有确切的含义,不存在二义性。

    可行性: 一个算法是能行的。

    输入: 一个算法有零个或多个输入。

    输出: 一个算法有一个或多个输出。

时间复杂度:

  基本操作重复执行的次数的阶数 T(n)=O(f(n))

    “O”的定义: 若f(n)是正整数n的一个函数,则 O(f(n))表示$ M,使得当≥ n0时,| f(n) | ≤ M | f(n0) | 

  例如求下面的算法的时间复杂度:

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

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

         {++x; a[i,j]=x; }

    语句频度为:  1+2+3++n-2=(1+n-2) ×(n-2)/2 =(n-1)(n-2)/2 =n2-3n+2

     所以时间复杂度为O(n2),即此算法的时间复杂度为平方阶。

空间复杂度:S(n)=O(f(n))

  n为问题的规模(或大小)

 

转载于:https://www.cnblogs.com/spilledlight/p/4975797.html

你可能感兴趣的文章
40款不容错过的个人摄影设计作品集网站
查看>>
使用 PIVOT 和 UNPIVOT 行转列
查看>>
【Spring实战】—— 5 设值注入
查看>>
应聘华为 16道经典面试题及回答思路
查看>>
iOS tabbar 自定义小红点 消息显示,定制边框、颜色、高宽
查看>>
JavaScript:JavaScript语法的详细介绍
查看>>
java校验时间格式 HH:MM
查看>>
C# SQL 整表插入
查看>>
CSS3效果:animate实现点点点loading动画效果(二)
查看>>
NYOJ92 图像实用区域 【BFS】
查看>>
Maven常见异常及解决方法(本篇停更至16-4-12)
查看>>
微信小程序wx.previewImage实用案例(交流QQ群:604788754)
查看>>
用SSH解决大局域网反向端口转发问题
查看>>
【来龙去脉系列】机器学习入门必读
查看>>
VMware给虚拟机绑定物理网卡
查看>>
ROS中测试机器人里程计信息
查看>>
Python 能做什么?
查看>>
RecyclerView分隔线定制
查看>>
python-i春秋验证码识别
查看>>
Es对于日期处理
查看>>