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

来源:互联网 发布:motivation letter知乎 编辑:程序博客网 时间:2024/05/22 09:51

数据结构基本知识

  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. 算法的基本概念
    算法:对特定问题的求解步骤
    算法的五个特性:有穷性 + 确定性 + 输入 + 输出 + 可执行性
0 0
原创粉丝点击