数据结构01_数据结构基本知识介绍

数据结构基本知识

  1. 结构体
    用户可以根据自己的需要构建出自己想要的一种数据类型
typedef struct{
    int a; char b; float c;
}TypeA;

TypeA可以与int char等数据类型同等地位;且TypeA可以与数组类比。
2. 指针型

int *a;     //a存放的是指向一个整形数据x的地址
*a;         //取出a指针指向的内容x
&x;         //取出变量X对应的地址

链表的定义

typedef struct Node{
    int data;
    struct Node *next;   //指向结构体Node类型的指针next
}Node

二叉树的定义

typedef struct BTNode {
    int data;
    struct BTNode *lchild;
    struct BTNode *rchild;
}

构造新节点

BTNode *BT;
BT= (BTNode *)malloc(sizeof(BTNode));

用结构体取分量和用指针取分量的区别

如果BT是结构体:BT.data
如果BT是指针:BT->data或者(*BT).data

函数中传值与传引用的区别,传的数组都是引用

算法的时间复杂度与空间复杂度

算法时间复杂度的度量:算法中基本操作的执行次数(因此确定一个算法时间复杂度要确定两点:基本操作 + 基本操作执行的总次数)
时间复杂度T(n) = O(f(n)),其中n是问题的规模,与基本操作执行的次数有关
时间复杂度的大小比较:
O(1)

数据结构的基本概念

  1. 数据结构的定义:数据结构指相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三方面的内容:逻辑结构、存储结构、和对数据的运算
  2. 数据的逻辑结构:对数据之间关系的描述,与数据的存储结构无关,大致可分为:集合、线性结构、树形结构、图/网状结构
  3. 数据的物理结构(存储结构):数据的物理结构是逻辑结构在计算机上的表示(数据元素的表示 (例如结点)+ 关系的表示)
    常见的四中物理存储方法:
    顺序存储方法:例如数组的物理存储结构
    链式存储方法:通过指针实现
    索引储存方法:<关键字, 指针>
    散列存储方法:通过关键字计算相应的春初地址
  4. 算法的基本概念
    算法:对特定问题的求解步骤
    算法的五个特性:有穷性 + 确定性 + 输入 + 输出 + 可执行性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值