数据结构

来源:互联网 发布:matlab 矩阵布尔运算 编辑:程序博客网 时间:2024/06/03 03:33

a.什么是链表

链表是一种物理存储单元上非连续、非顺序的存储结构,链表有一系列结点组成

b.自己是写一个链表,包括增删改查

c.了解链表的数据结构是如何分配内存的(内存对齐问题)

1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行
2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。
         3、当#pragma pack的n值等于或超过所有数据成员长度的时候,这个n值的大小将不产生任何效果

d.了解什么是树(二叉树),写出定义、有哪几种树、树的应用。写一个简单二叉排序树

1.树是包含n个结点的有穷集,其中每个元素称为结点,有一个特定的结点叫根结点,除根结点外的奇遇数据元素被分为m个互不相交的集合,每个集合本身也叫一棵树,被称为原树的子树。二叉树就是每个结点最多含有两个子树的树。
2.无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树
有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树;应用:人类的家庭族谱以及各种社会组织机构都可以用树形结构来表示,又如在计算机文件管理和信息组织方面也用到树形结构。
霍夫曼树:带权路径最短的二叉树称为哈夫曼树或最优二叉树;应用:在数据通信中,需要将传送的文字转换成二进制的字符串,用0,1码的不同排列来表示字符


0 0
原创粉丝点击