1. 数据结构是一门研究非数值计算程序设计中的操作对象 以及这些对象之间的关系和操作的学科

2. 研究包括逻辑结构和存储结构

1) 逻辑结构(从具体问题抽象出来的数学模型)分为

集合结构 线性结构 树结构 图结构(分类依据是元素之间的关系不同)

2)存储结构(也称物理结构 逻辑结构在计算机的存储表示)分为

顺序存储结构 链式存储结构

3. 抽象数据类型是由用户定义 表示应用问题的数学模型 以及定义在这个模型一组操作的总称 包括数据对象 数据对象上关系的集合 数据对象基本操作的集合

4. 算法(为了解决某类问题而规定的一组有限长的操作序列)

算法的五个特性:有穷性 确定性 可行性 输入和输出

算法优劣的评价:正确性 可读性 健壮性(鲁棒性) 高效性

5. 算法分析的两个主要方面

频度:一条语句重复执行次数;

规模:算法求解问题的输入量;

  算法时间复杂度(即算法的运算时间 表示方法T(n)=O(f(n)))

常见的时间复杂度排列顺序  

     常数阶 对数阶 线性阶 线性对数阶 平方阶 立方阶 k次方阶

  算法空间复杂度(表示方法S(n)=O(f(n)))

6.一些术语

  1. 数据:用客观事物的符号表示 是所能输入到计算机中并被计算机程序处理的符号的总称
  2. 数据元素:是数据的基本单位在计算机中通常作为一个整体处理和考虑
  3. 数据项:是组成数据的 有独立含义的 不可分割的最小单位
  4. 数据对象:是性质相同的数据元素的集合,是数据的子集
  5. 数据结构:是相互之间存在一种或多种特定关系的数据关系的集合
  6. 数据类型:一个值的集合和定义在这个值集上的一组操作的总称

附几道教科书上的习题:

1.与数据元素本身的形式、内容、相对位置、个数无关的是数据的(   )。

A.存储结构               B.存储实现

C.逻辑结构               D.运算实现

2.以下说法正确的是(   )。解释:数据元素是数据的基本单位,数据项是数据的最小单位,数据结构是带有结构的各数据元素的集合

A.数据元素是数据的最小单位

B.数据项是数据的基本单位

C.数据结构是带有结构的各数据项的集合

D.一些表面上很不相同的数据可以有相同的逻辑结构

3.(1)x=90; y=100;

while(y>0)

if(x>100)

{x=x-10;y--;}

else x++;

答案:O(1)

解释:程序的执行次数为常数阶。

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

for (j=0; j<m; j++)

a[i][j]=0;

答案:O(m*n)

解释:语句a[i][j]=0;的执行次数为m*n。

(3)s=0;

for i=0; i<n; i++)

for(j=0; j<n; j++)

s+=B[i][j];

sum=s;

答案:O(n2)

解释:语句s+=B[i][j];的执行次数为n2

(4)i=1;

while(i<=n)

i=i*3;

答案:O(log3n)

解释:语句i=i*3;的执行次数为 log3n

(5)x=0;

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

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

x++;

答案:O(n2)

解释:语句x++;的执行次数为n-1+n-2+……+1= n(n-1)/2。

(6)x=n; //n>1

y=0;

while(x≥(y+1)* (y+1))

y++;

答案:O(x^(1/2))

解释:语句y++;的执行次数为 x^(1/2)。

转载于:https://www.cnblogs.com/lnzhangsong/p/5088937.html

有关数据结构基础知识(数据结构 严蔚敏版)相关推荐

  1. 严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(一)

    这里用的是严蔚敏版<数据结构 (C语言版)>和<数据结构题集>,深感自己的代码写得又渣又无力,打算把这本书好好琢磨透彻,里面的算法和模板都实现一遍,题目也都做一遍.最终能够做到 ...

  2. 数据结构实验(严蔚敏版)----栈与队列

    数据结构(严蔚敏版)配套实验报告册--栈与队列基本操作 #include <stdio.h> #include <malloc.h> #include <stdlib.h ...

  3. 严蔚敏版数据结构(C语言版)算法实现代码

    严蔚敏版数据结构(C语言版)算法实现代码 数据结构(C语言版)代码实现 线性表 顺序表 链表 单向链表 静态链表01 静态链表02 双向循环链表 栈与队列 栈 顺序栈 进制转换 行编辑器 未完待续.. ...

  4. 数据结构头文件《Fundamentals of Data Structures in C (2nd Edition) 》/严蔚敏版《数据结构》

    #ifndef _PUBLIC_H_ #define _PUBLIC_H_#include <malloc.h>//动态分配储存空间 #include <stdlib.h> # ...

  5. 严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(五)——栈和队列...

    栈的顺序表实现 1 #include <iostream> 2 #include <stdlib.h> 3 #include <stdio.h> 4 #define ...

  6. Algorithm:【Algorithm算法进阶之路】之数据结构基础知识

    Algorithm:[Algorithm算法进阶之路]之数据结构基础知识 相关文章 Algorithm:[Algorithm算法进阶之路]之数据结构二十多种算法演示 Algorithm:[Algori ...

  7. 数据结构基础知识(2)

    内容接自<数据结构基础知识(1)>... 链表的分类 单链表 单链表是一种链式存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素.图中阴影区域表示数据域,空白区表示指针域 ...

  8. 数据结构基础知识核心归纳(一)

    数据结构基础知识核心归纳(一) 转载请声明出处:http://blog.csdn.net/andrexpert/article/details/77900395 Android             ...

  9. 1. 数据结构基础知识

    1. 数据结构基础知识 基本概念 线性结构:结构中的数据元素之间只存在一对一的关系. 树形结构:结构中的数据元素之间存在一对多的关系. 图状结构或网状结构:结构中的数据元素之间存在多对多的关系. 数据 ...

最新文章

  1. Ubuntu 18 snap 占用 100%,卸载 snap
  2. 华为手机设置代理网络就无法使用_华为手机一定要了解的7个设置!1秒开启使用,实在太强大了...
  3. tomcat苹果版安装步骤_Mac系统安装和配置tomcat步骤详解
  4. 北电PBX资料_LD 17 系統結構指令設定
  5. [YTU]_2907(类重载实现矩阵加法)
  6. VS2013配置opencv教程(图文详解)
  7. boost::test模块混洗下运行的单元测试的测试顺序
  8. CVPR2014: DeepID解读
  9. 聚焦2020云栖大会 边缘计算专场畅谈技术应用创新
  10. java list 分组_Java8 快速实现List转map 、分组、过滤等操作
  11. 苹果id登录_英雄联盟手游是用苹果ID好还是拳头好 账号选择建议_英雄联盟手游...
  12. 【LeetCode - 247】中心对称数 II
  13. 绩效考核如何尽量公正
  14. C. Mortal Kombat Tower(DP 走台阶问题)
  15. 云科技时代,微软纳德拉与小米雷军为什么走到一起?
  16. 等额本息和等额本金还款在R中的实现
  17. 关于0x3f3f3f3f(0x四个3f)
  18. idea Translation IP 地址无法访问
  19. silverlight 得到 控件 鼠标 的位置
  20. 用Python对CAPM和Fama French Three Factor model的初步学习

热门文章

  1. python 链表两数相加
  2. pytest第二版 进阶学习
  3. 南邮计算机图形学水不水,南邮计算机图形学实验报告(修正版)….doc
  4. getPath()和getResource()找不到文件(NullPointerException)的原因(idea创建properties文件)
  5. python的目的及应用_python Django中的apps.py的目的是什么_python_脚本之家
  6. pc双网卡实现路由转发_route命令如何使用?如何利用route命令实现内外网切换?...
  7. java8 垃圾收集_面试官:怎么做JDK8的垃圾收集器的调优(面试常问)
  8. 找不到java.vbs_无法找到脚本*.VBS的脚本引擎解决办法
  9. SVM+HOG:用初次训练的.xml分类器在负样本原图上检测生成HardExample样本
  10. 第三天2017/03/30(下午:二级指针的(输出)内存模型)