数据结构与算法

1、C语言基本数据类型所占字节数

32位编译器:char:1字节;char*(即指针变量): 4字节(32位的寻址空间是2^32, 即32个bit ); short int : 2字节; int:4字节;float: 4字节;double: 8字节 

2、数据结构与算法复杂度


顺序表计算:插入时间复杂度O(n),删除时间复杂度O(n)

3、内存分配-堆栈

1、全局变量和静态变量(static变量),是由编译器自动分配和释放的,初始化的全局变量和静态变量放在同一块内存区中,未初始化的全局变量和静态变量则放在相邻的另外一块内存区中。

2、栈,是由编译器自动分配和释放的,主要是函数体的地址,参数和局部变量,静态变量不包含其中,操作方式类似于数据结构中的栈。

3、堆,是由程序员手动完成申请和释放的,像malloc和new,程序员没有手动释放的话,当程序结束时由系统释放没有释放的空间,其实现方式与数据结构中的堆完全不同,此时的堆的实现方式有些类似于数据结构中的链表。

4、数据结构概念

数据结构包括逻辑结构和存储结构。

逻辑结构: 非线性结构( 树,图,对维数组 ),线性结构( 线性表(顺序表,链表),数组,栈,队列,循环队列 ),集合’

存储结构:顺序存储,链表存储,索引存储和散列存储(哈希)

5、Ascall码表

‘A’:65;‘a’:97;‘0’:48

6、最大/最小堆