数据结构期末总结

    学习数据结构课程已经有一学期 ,期间感谢贺老师带领我们甩掉沉闷的传统课堂,体验新鲜的翻转课堂,培养我们自主学习的意识,增加我们的实践课 ,让我们不再纸上谈兵,给我们真枪实干的机会,让我们对知识点牢固的掌握。

  首先在学习课程之前,老师交给了我们如何使用CSDN写博客,开启了我们算法世界的新天地。在第一章,线性表中,可能是因为刚刚接触新的教学模式,在看视频时,粗心大意没有理解含义,在线性表的链式存储结构一节中的单链表和双链表环节,有些卡梗,后来经老师的讲解才恍然大悟,在单链表中,每一个节点都有一个指针域,指向其后继结点。在进行节点插入和删除时,就不能简单的只对该节点进行操作,还必须考虑他的前后节点。双链表也是如此.

数据结构与以前我们所学的编程课不同,需要理解的地方要多,其特点为:

数据的逻辑结构—指抽象反映数据元素的逻辑关系。
数据的逻辑结构有两大类:线性结构:线性表非线性结构:树和图数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现。存储结构分为:
顺序存储结构——借助元素在存储器中的相对位置来表示数据元素间的逻辑关系链式存储结构借助指示元素存储地址的指针表示数据元素间的逻辑关系索引存储方法散列存储方数据的逻辑结构与存储结构密切相关算法设计逻辑结构算法实现存储结构.

第三章我们学习了栈和队列,其中着重介绍了栈和队列的存储方式。

1.线性表的定义:是由n(n>=0)个数据元素组成的有限序列。2.线性链表:定义:用一组任意的存储单元存放线性表的数据元素。任意---可以是连续的,也可以是不连续。数据域——存储数据元素信息。结点——将两部分的信息组成数据元素ai的存储映像指针域(链域)——存储直接后继元素的存储位置。通过链域,可n
个结点按其逻辑顺序链接在一起(不论其物理次序如何),称为链表,即为线性表的链式存储结构。因为每个节点只包含一个指针域,因此又称为线性链表或单链表。3. 线性链表的特点:链表中结点的逻辑次序和物理次序不一定相同。
即:
逻辑上相邻未必在物理上相邻。数据元素之间的逻辑关系由链表中的指针域指示,而结点在存储器中的存储位置是
随意的。存取方式:顺序存取,不能实现随机存取。头结点——其数据域可以不存放任何数据,也可以存放链表结点个数的信息;指针域存 储指向第一个元素结点的指针。

 

栈的基本操作:

 

 

 

 

1

 

)初始化栈

 

 

 

 

 

InitStack(S) 

 

 

 

 

 

 

 

 

 

 

2

 

)入栈

 

 

 

 

 

Push(S,item) 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

)出栈

 

 

 

 

 

Pop(S,item) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

)获取栈顶元素

 

 

 

 

 

GetTop(S,item) 

 

 

 

 

 

 

 

 

5

 

)判断栈是否为空

 

 

 

StackEmpty(S) 

 

 

 

栈的链式存储结构及其基本运算

 

 

 

 

 

 

链式栈无栈满问题,空间可扩充

 

 

 

 

 

 

插入与删除仅在栈顶处执行

 

 

 

 

 

 

链式栈的栈顶在链头

 

 

 

 

 

 

适合于多栈操作

 

 

 除此之外,还跟随贺老师学习了很多专业性知识,喜欢这门课知识点的灵活,也喜欢贺老师反转课堂的新鲜。希望以后可以跟随贺老师学到更多,变得更充实。

最后祝贺老师工作顺利,继续放荡不羁做自己!
 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值