欢迎光临散文网 会员登陆 & 注册

王道计算机考研 数据结构

2023-06-26 17:15 作者:拉布拉多多多-小布丁  | 我要投稿

【代码部分在最后面

C语言线性表CTRL+F查找代码

数据元素


1.2数据元素三要素

集合

线性结构

树形结构


1.1_2_数据结构的三要素 P4 - 02:54



逻辑结构总和

物理结构


1.1_2_数据结构的三要素 P4 - 12:19



存储结构



1.1_2_数据结构的三要素 P4 - 17:04


数据结构注意问题

总结


先通过逻辑结构,和数据运算将关系表达明确,在通过物理结构实现代码



1.1_2_数据结构的三要素 P4 - 19:19

数据类型

如:bool ,int,struct都是数据类型

算法特性

健壮性

非法数据能够输出反应,而不是乱码

高效率,低存储量需求

有穷性

运行的时间有限,会结束

确定性

能确定结果的输出

时间复杂度

1.2-2算法效率度量

时间复杂度

log(2)^n的写法

最好复杂度和最坏复杂度以及平均复杂度




1.2_2_算法的时间复杂度 P6 - 30:23


1.23算法空间复杂度:


1.2_3_算法的空间复杂度 P7 - 00:12


如果算法的空间复杂度是常数阶的话,求称算法能够原地工作

例子1


1.2_3_算法的空间复杂度 P7 - 03:52



例子2


1.2_3_算法的空间复杂度 P7 - 05:22


例子3


1.2_3_算法的空间复杂度 P7 - 05:41


例子4.函数调用也会引起内存增加


1.2_3_算法的空间复杂度 P7 - 06:51


空间大小4(n)+12(a,b,c)=16bit


空间复杂度=递归调用的深度

2.1线性表定义

用C++的可以把&L理解成对一个表的引用,用C语言的可以把&L理解成指向表的指针弹幕

命名方式要注意

知识总结

2.21顺序表的定义

顺序表的定义

静态分配



2.2.1_顺序表的定义 P9 - 05:25


初始化很有必要,应为有些编译器不会帮你初始化

编译器会强制类型转换,但是再写一遍能多学习一点

代码



2.2.1_顺序表的定义 P9 - 16:46





C语言线性表

#include <stdlib.h>

#include <stdio.h>

#define MaxSize 10

#define InitSize 10


typedef struct{

    int *data;//定义一个指针来接收这些数据

    int maxSize;//MaxSize

    int length;//长度

}SeqList;



// 2.1动态顺序表的初始化

void InitSeqList(SeqList *L){

    (*L).data=(int *)malloc(sizeof(int)*InitSize);

    (*L).length=1;//(*L).length等价于L->length

    L->maxSize=0;

}

int main()

{

    SeqList a;

    printf("%d\n",a.data[5]);

    InitSeqList(&a);

----------------保护线----------------

----------------防手残----------------



王道计算机考研 数据结构的评论 (共 条)

分享到微博请遵守国家法律