云南专升本-数据结构笔记-1

本文介绍了数据结构的基本概念,包括数据元素、数据项和数据对象,详细阐述了线性和非线性逻辑结构,如线性表、栈、队列、树和图,以及顺序存储、链式存储、索引存储和散列存储等不同存储结构的优缺点。此外,讨论了算法的定义、特性以及时间复杂度和空间复杂度的概念。
摘要由CSDN通过智能技术生成

第一章 

   1.数据元素——>基本单位

   2.数据项——最小单位(用来描述数据对象)

   3.数据对象

 ( 1. )性质相同

(2.)都是元素

    4.数据结构(D.S)

             ( 1. )逻辑结构

1.)线性结构(一对一):线性表,栈(顺序栈和循环栈),队列,广义表,数组,串

2.)非线性结构:树,图,集合

             (2.)存储结构(即物理结构,依赖于计算机

1.)顺序存储:将逻辑相邻的元素存储在物理位置(即相邻/邻接的存储单元)

实现方式:数组(常用)

优点:随机存储,时间复杂度为O(1)

缺点:增或删需要移动元素,不利于插入和删除

2.)链式存储:节点间的逻辑关系通过指针域来链接(物理位置可不连续)

优点:方便插入和删除

缺点:存储密度小,每个节点都有指针域,要顺序访问,比较费时间

3.)索引存储

优点:利用节点索引来检索,速度快

缺点:增加索引表后,会占用较多的存储空间

4.)散列存储

              (3.)数据运算

    5.D:对象       S:关系      P:操作     ——>定义了数据结构

    6.算法:描述,有限,序列

特性:有确定性,可输出

要求:正确性,可行性,健壮性、高效率、低存储

    7.(1.)时间复杂度:问题规模决(简单理解为代码运行的复杂度,影响的规模)定时间复杂度,初始状态

公式:T(n)=O(f(n))

       (2.)频度:代码运行的次数

       (3.)大小比较:O(1) 常数阶 < O(logn) 对数阶 < O(n) 线性阶 < O(nlogn) < O(n^2) 平方阶 < O(n^3) < { O(2^n) < O(n!) <O(n^n) }

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

(补充例子:2个不同的算法执行结果一致,用的空间越少的那个越优,存储量越少越优)

    函数:最大项,系数

    循环:++;- -;i=i*a;多个函数相乘

以下为补充内容,帮助理解代码:

1、基本操作的算法都用以下形式的函数描述

函数类型  函数名(函数参数表){

               //算法说明

            语句序列

             }//函数名

2、 赋值语句有:

(1)简单赋值: 

   变量名=表达式;

(2)串联赋值: 

   变量名1=变量名2=......变量名k=表达式;

(3)成组赋值: 

     变量名1,.....,变量名k=(表达式1,.....,表达式k);

                  结构名=结构名;

                 结构名=(值1,......,值k);

                 变量名  [  ]=表达式;

                 变量名 [起始下标..终止下标 ]=变量名[ 起始下标..终止下标 ];

(4)交换赋值:

       变量名<---->变量名;

(5)条件赋值:

       变量名=条件表达式?表达式T :表达式F;

3、选择语句有

1)条件语句1 if (表达式) 语句;

     条件语句2 if (表达式) 语句;       

             else 语句;

开关语句1 switch (表达式){

          Case 值1:语句序列1; break;

          ......

         Case 值n:语句序列n; break;

   default: 语句序列n+1;

  }

开关语句2 switch (表达式){

          Case 值1:语句序列1; break;

          ......

         Case 值n:语句序列n; break;

   default: 语句序列n+1;

  }

               

              

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
很抱歉,我无法提供云南专升本数据结构思维导图的具体内容。但是,我可以为您介绍一下数据结构的基本概念和一些常见的数据结构数据结构是计算机科学中研究数据组织、存储和管理的一门学科。它涉及到如何组织和存储数据,以便能够高效地访问和操作数据。常见的数据结构包括数组、链表、栈、队列、树、图等。 - 数组是一种线性数据结构,它由一组连续的内存单元组成,用于存储相同类型的数据。数组的特点是可以通过索引快速访问任意位置的元素。 - 链表是一种动态数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表的特点是可以高效地插入和删除元素,但访问元素需要遍历整个链表。 - 栈是一种后进先出(LIFO)的数据结构,它只允许在栈顶进行插入和删除操作。栈的应用包括函数调用、表达式求值等。 - 队列是一种先进先出(FIFO)的数据结构,它允许在队尾插入元素,在队头删除元素。队列的应用包括任务调度、消息传递等。 - 树是一种非线性数据结构,它由一组节点和连接节点的边组成。树的特点是具有层次结构和递归定义。常见的树结构包括二叉树、二叉搜索树、平衡二叉树等。 - 图是一种由节点和连接节点的边组成的数据结构。图的特点是可以表示任意的关系,常见的图算法包括深度优先搜索(DFS)和广度优先搜索(BFS)。 以上是一些常见的数据结构,它们在计算机科学和软件开发中都有广泛的应用。如果您对某个具体的数据结构感兴趣,我可以为您提供更详细的介绍和示例代码。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值