首页 > 其他分享 >数据结构学习第一周

数据结构学习第一周

时间:2024-08-28 12:03:26浏览次数:10  
标签:1.2 第一周 学习 链式 泛型 数据结构 数据 结构

本文需要掌握的知识

1.认识数据结构
2.了解数据结构(逻辑结构)的分类
3.内存储器模型以及分配方式(物理结构)
4.认识Node类
5.简单了解泛型

1 .数据结构(D-S/Data Structure)

1.1简介

1.1.1数据

分为原子数据和复合数据

1.1.2结构

分为逻辑结构和物理结构

img

数据结构是由数据和数据之间的关系构成的整体。

1.2分类(逻辑结构)

img

1.2.1集合结构

img

特征:结构s为空,数据之间没有关系

1.2.2线性结构

img

特征:数据结构是一个连接下一个的

1.2.3树形结构

img

特征:结构中对每个j,存在唯一的i有<ai, aj>

1.2.4图(网)状结构

img

特征:任何数据之间可以有关系,本身之间也行

2.数据结构的描述

数据结构的描述是指:在计算机存储器中如何存储数据和数据之间的关系。

存储器

img

外存储器是指外接的存储器,例如优盘,外接硬盘等等

2.1 内存储器模型和分配方式(物理结构)

存储大量的数据,如何为它们分配存储单元

连续/顺序分配img

优点:储存快

链式分配

img

优点:充分利用空间

缺点:所占内存大

举例

img

img

注意:链式结构右边有空格

2.2数据代表了解)

img

2.3 关系

img

img

顺序结构特点

img

链式关系特点

img

通过heab找万山红

img

注意null(空)

Node类

new Node() 代表实例化

img

3.抽象数据类型及实现

img

比如python引用math.sqrt函数开方,但是没有显示原理

3.1使用接口定义抽象数据类型

img

数据结构理解

数据分为原子数据和复合数据,结构分为物理结构和逻辑结构,再加上数据结构实现的操作才是数据结构。

4.补充: Java泛型

img

看这个交换函数

第一个只能处理int类型的数据

第二个能处理任何数据

对泛型T限制(通配符)

img

4.1简单泛型

img

4.2*使用object表示泛型

img

4.3基本类型的包装

img

总览

img

提问

img

3.物理结构分为链式结构和顺序(连续)结构

结语:

这是第一周,刚刚上完课就写完了,希望以后能坚持下来,加油,yanxiao。

标签:1.2,第一周,学习,链式,泛型,数据结构,数据,结构
From: https://www.cnblogs.com/yanxiao777/p/18384384

相关文章

  • STM32学习记录-08-USART串口
    1通信接口        通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统        通信协议:制定通信的规则,通信双方按照协议规则进行数据收发                USART:TX数据发送、RX数据接收        I2C:SCL时钟、SDA数据  ......
  • Cloud Studio:颠覆传统的云端开发与学习解决方案
    CloudStudioCloudStudio(云端IDE)是一款基于浏览器的集成开发环境,它为开发者提供了一个高效、稳定的云端工作站。用户在使用CloudStudio时,无需进行任何本地安装,只需通过浏览器即可随时随地轻松访问和使用。这种无缝的访问方式不仅提升了工作效率,也极大地简化了开发流程,使得开......
  • 学习笔记:基础动态规划
    线性DP定义具有线性“阶段”划分的动态规划算法被统称为线性动态规划入门线性动态DPLIS问题最长上升子序列问题。问题:给定一个长度为\(N\)的数列\(A\),求数值单调递增的子序列的长度最长是多少(子序列不需要连续)。经典的线性动态规划问题。分析:容易发现,对于某一个位......
  • Day09_0.1基础学习MATLAB学习小技巧总结(9)——数组运算
    利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。素材来源“数学建模清风”特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步......
  • Day07_0.1基础学习MATLAB学习小技巧总结(7)——矩阵算数运算
    利用暑假的时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。素材来源“数学建模清风”特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移......
  • 初步学习async/await,Task.GetAwaiter,Task.Result
    初步学习async/await,Task.GetAwaiter,Task.Result   网上关于async/await的知识有很多,看了很多但不如自己实践一遍来得快,所以这里记录下我的理解和大家学习下。  首先以最简单的同步方法来开始如下privatestaticvoidTest(){Console.Wr......
  • 一起来学习.net core程序使用中介者模式:MediatR插件
    一起来学习.netcore程序使用中介者模式:MediatR插件     中介者模式是一种常见的设计模式,旨再降低程序的耦合性,因为传统的三层模式层层之间需要显示的调用,必须上层依赖下层,耦合性很高,为了解耦,将所有的指令单独放在一个位置处理,其他位置均通过这个位置来间接的调用,从......
  • 1-1 Markdown学习
    一.Markdown讲解及语法(一)、Markdown简介Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。它的目标是实现易读易写,让人们专注于内容而不是排版。(二)、Markdown基本语法1、标题使用#表示标题级别,#的数量......
  • 深度学习-pytorch-basic-002
    from__future__importprint_functionimporttorchastx=t.Tensor(5,3)#构建(5,3)的矩阵,只是分配空间,未初始化print(x)tensor([[1.0194e-38,8.4490e-39,1.0469e-38],[9.3674e-39,9.9184e-39,8.7245e-39],[9.2755e-39,8.9082e-39,9.9184......
  • C++学习随笔——算法题:全排列问题
    算法题:输入一个不存在重复字符的字符串,打印出字符串中字符的全部排列组合。代码实现:#include<iostream>#include<string>#include<vector>#include<algorithm>//std::swapvoidpermute(std::stringstr,intleft,intright){if(left==right){st......