《数据结构与分析》——学习笔记

打算开一篇博客记录下复习数据结构的一些东西,比如重要知识点和上机遇到的问题,希望自己能快速成长起来!

《数据结构》知识框架

第1章 引论
1.2 数学知识复习
1.3 递归简论

第2章 算法分析
2.2 模型
2.3 要分析的问题
2.4 运行时间计算

第3章 表、栈、和队列
3.1抽象数据类型(ADT)
3.2 表ADT

2018/3/28

今天看完了第3章 表(List)ADT的相关知识,并完成了书本内容的上机,用的是C语言,操作了一下写头文件的步骤。
表的定义:形如A1,A2,A3,...,An的表,大小为N。表ADT的简单实现可以用数组,但插入删除操作代价太大,所以一般采用链表。
链表(Linked List)含表元素和指向后继元的结构的指针(指针即储存某数据的地址的变量,一个指针就是一个数)。
链表的操作有:1、寻找某元素并返回位置 2、寻找某元素的前驱元并返回位置 3、插入 4、删除 5、清空链表 6、判断链表是否为空 7、判断当前位置是否为链表末尾 8、将表置为空表

上机的问题:

1、使用malloc时:

struct Node
{
    int element;
    Position P;
};
typedf struct Node *N;
typedf N Position;

Position P; 
P = malloc(sizeof(struct Node);

这里会报错(malloc是void*类型)必选强制类型转换为

P=(struct *Node)
posted @ 2018-03-28 23:26  Bruskiii  阅读(698)  评论(0编辑  收藏  举报