数据结构与算法电子科技大学

《数据结构与算法》课程是计算机科学与技术的学科基础课程,不仅是《计算机图形学》、《计算机网络》、《编译原理》、《计算机操作系统》等后续课程的基础理论之一,其应用范围也早已扩展到图像处理与模式识别、海量数据挖掘、科学数据处理、复杂网络分析等许多计算机前沿领域。

本课程研究计算机处理数据的结构特性,学习线性表、树、图等常用数据结构的逻辑结构与存储结构;学习分治递归、动态规划、贪心算法等典型算法,掌握分析与推导算法效率的方法。

通过对本课程的学习,能够解决非数值计算与工程应用问题,达到选择或设计恰当的逻辑结构、存储结构及相应的算法的水平,为学生进一步理论学习和解决实际工程应用问题打下坚实的基础。通过理论知识的系统学习与工程实验的操作,初步培养学生的计算思维能力、算法设计与分析能力、程序设计与编程实现能力、计算机系统的认知、分析、设计和运用能力、工程实践能力。

课程由3位经验丰富的老师讲解,学生反馈通俗易懂,获得感强,没有专业基础的小白也能够听懂,考试形式好,教师回答学生问题积极,讨论区活跃能够学到很多东西,能够对问题得到及时有用的解答。课程每一期都根据教学经验和学生反馈进行改进,目前已经很完善。

本课程面向计算机专业或者非计算机专业,但有程序设计语言基础的同学。

程序设计语言(C,C++,java,python等任何一门语言)

本课程以C语言为基础进行讲解,但学习了其他语言的同学可以无障碍学习本课程内的容并同样受益。

林劼,刘震,陈端兵,戴波.数据结构与算法.北京:北京大学出版社,2018.8

吴跃,等.数据结构与算法.北京:机械工业出版社,2010.

王晓东.算法设计与分析.2版.北京:清华大学出版社.

Kleinberg,等.算法导论.北京:清华大学出版社.

提醒1:授课老师有口音,对普通话要求标准比较高的同学,建议不要选修本课程。

提醒2:这学期开始本课程是认证课程,只有认证学员才能够拿证书。非认证学员可以学习,只要在课程结束之前完成所有课程,作业和考试,并成为认证学员,12月16日就可以领取课程证书了。

提醒3:课程结束日期是12月15日,请需要证书的同学在12月15日之前完成所有课程,作业和考试。

Q:那么多《数据结构》或者《数据结构与算法》课程,我们课程明显特色是什么?

A:

细心的同学可能发现不少名字叫做《数据结构》,或者名字叫《数据结构与算法》的课程,但其中算法部分只是包括了查找,排序等基本算法,而我们的算法课程除了其他课程的核心主要内容,还包括:递归与分治,贪心算法,动态规划。

这些算法经典而用途广泛,许多同学在学习其他数据结构课程的时候,常常有为什么这些人能够想到这种求解思路的困惑,或者有哪些规律,能够解决哪些类型的问题,我们课程中能够解答您的这些疑惑。举最小生成树问题作为例子,其他课程您可能学习之后知道通过加点或者加边的方式能够得到最小生成树,但是您不会知道算法思想来自于贪心算法,也不知道为什么这种方法能够得到全局最优解,而比如找硬币问题,也可以采用贪心算法求解,可是却不一定能够得到全局最优解。通过这些典型算法的学习与应用,不但能够打下更加扎实的基础,还能够触类旁通,举一反三。

我们课程的另外1个特色,就是很多同学学习其他《数据结构》or《数据结构与算法》课程,会造成一种错觉:以为本课程就是一门理论课程,并不能解决寻找算法用程序编写软件解决大部分现实世界问题的能力。实际上,我们通过案例引导及分析,就是要让同学们不但能够找到解决问题的算法,还具有根据算法编写软件的能力。特别是第一章线性表,我们可以说是一步步的讲解怎么写程序实现基本操作,怎么写程序实现更加复杂的问题。

所以,学习本课程,不要满足于听懂,还要积极参与讨论,开拓您的思路;还要把所思所想转换成为代码程序,只有从基础开始多做思路转换为代码的编程练习,最终才具有解决复杂问题和未知问题的能力和编程水平!

Q:课程采用C语言作为教学语言,我学的是python/c++/java/其他语言,能够学好本课程吗?怎么学?

A:当然可以,我们虽然以C语言作为教学语言,但是原理都是通的,您只需要把我们的C语言代码用您熟悉代码展示,完成的作业或者测验也采用您的语言也是可以的。大部分作业或者测验,我们会考虑同学们编程语言不同的问题,尽量用算法或者伪代码描述,需要实际编程的不会限制语言。

Q:《数据结构与算法》课程为什么要一次性分布,而不是按周发布?

A:第一次开课是按周分布,发现这种分布方式的最大优点是强迫同学们按照老师的进度要求进行学习,同时也是最大的缺点,原因如下:

由高教社联手网易推出,让每一个有提升愿望的用户能够学到中国知名高校的课程,并获得认证。

THE END
1.这才是你最想要的数据结构与算法学习路线四、数据结构与算法怎么学 数据结构与算法的学习,简单而言就是: 学习对应的专题知识点,刷对应专题的题。 前半句属于理论学习,后半句属于实战演练,数据结构与算法怎么学?就按照这两部分来学。 1、理论学习 理论学习就是学习对应的专题知识点,一般就是看视频和书籍。 https://zhuanlan.zhihu.com/p/582109772
2.数据结构与算法(非常详细)从零基础入门到精通,看完这一篇就够了(1)特点:采用链式存储(广义表的数据元素可以具有不同的结构) 七、树和二叉树 1、树 术语: 结点(包含数据和分支)、结点的度(结点的子树数)、树的度(树中各结点度的最大值)、叶子(度为零)、分支结点(度不为零)、兄弟结点、层数、树的深度(高度)、森林(零或者有限棵互不相交的树的集合)、有序树(结点的子树从https://blog.csdn.net/2401_84240189/article/details/138821288
3.什么是数据结构?什么是算法?怎么学习数据结构与算法?怎么学习数据结构与算法? 01 前言 学习算法,我们不需要死记硬背那些冗长复杂的背景知识、底层原理、指令语法……需要做的是领悟算法思想、理解算法对内存空间和性能的影响,以及开动脑筋去寻求解决问题的最佳方案。相比编程领域的其他技术,算法更纯粹,更接近数学,也更具有趣味性。https://maimai.cn/article/detail?fid=1744039689&efid=u2sSJyH6RePBrCh7o1dCfA
4.怎么学习数据结构与算法00:00/00:00 怎么学习数据结构与算法 IT老邪讲编程发布于:辽宁省2023.05.30 22:17 分享到https://learning.sohu.com/a/680501133_121730054
5.数据结构应该怎么学?51CTO博客数据结构与算法有用么? 这里我摘录了一个知乎的高赞回答给大家做参考: ? 个人认为数据结构是编程最重要的基本功没有之一!学了顺序表和链表,你就知道,在查询操作更多的程序中,你应该用顺序表;而修改操作更多的程序中,你要使用链表;而单向链表不方便怎么办,每次都从头到尾好麻烦啊,怎么办?你这时就会想到双向链https://blog.51cto.com/u_15185954/3034379
6.如何学习数据结构和算法Trie是另一种可以快速搜索前缀/子字符串的树。Disjoint Sets是一种特殊类型的集合,它将其成员分隔成不重叠的子集,对联合查找算法很有用。跳跃列表是LinkedList的优化版本,它减少了查找特定节点所需的时间。 基本的搜索/遍历算法 所有的数据结构都是用来保存信息的。有些结构需要特殊的方式来有效地访问这些信息,这比简https://www.jianshu.com/p/8231f94121c1
7.《学习JavaScript数据结构与算法第3版》([巴西]洛伊安妮·格罗纳数据结构与算法教程书籍 用JavaScript深度学习常用的数据结构与算法核心技术 高效解决计算机网络编程常见问题 作者:[巴西]洛伊安妮·格罗纳(LoianeGroner)出版社:人民邮电出版社出版时间:2019年05月 手机专享价 ¥ 当当价降价通知 ¥46.30 定价 ¥69.00 http://product.dangdang.com/27872612.html
8.学习JavaScript数据结构与算法(格罗纳)中文pdf完整版[10MB]电子书《学习JavaScript数据结构与算法》首先介绍了JavaScript语言的基础知识,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、顺序搜索、二分搜索,还介绍了动态规划和贪心算法等常用的高级算法及相关知识。 https://www.jb51.net/books/532592.html
9.2022数据结构与算法《王道》学习笔记(十一)KMP算法详细归纳简介:2022 数据结构与算法《王道》学习笔记 (十一)KMP算法 详细归纳总结 改进的模式匹配算法 前言 KMP算法参考博客 暴力模式匹配算法的最坏时间复杂度为O(nm),其中n和m分别为主串和模式串的长度。 改进的模式匹配算法——KMP算法 上图的匹配过程,在第三趟匹配中,i=7、j=5的字符比较不等,于是又从i=4、j=https://developer.aliyun.com/article/1315912
10.算法数据结构体系学习班马士兵教育官网注意原“算法与数据结构基础班”已经过期。所有内容都被现在的“算法数据结构体系学习班”重新讲述,还增加了内容,增加了题目练习。原“算法与数据结构基础班”的所有内容,对应现在的“算法数据结构体系学习班”的1-23节。 注意原“算法与数据结构进阶班”已经过期。所有内容已经被现在的“算法数据结构体系学习班”和“https://www.mashibing.com/course/339
11.前端学数据结构与算法(六):二叉树的四种遍历方式及其应用上一章我们从0到1的实现了一颗二叉搜索树,以及理解了二叉搜索树的特性与基本操作,这一章介绍关于二叉树的更多操作,也就是树的遍历。主要包括前序遍历、中序遍历、后序遍历、层序遍历,前面三种也叫深度优先遍历(DFS),最后的层序遍历也叫广度优先遍历(BFS),理解这四种遍历方式的不同,再遇到树相关的算法问题时,也https://cloud.tencent.com/developer/article/1709410
12.书单豆瓣高分&全网热评的算法神作本书结合竞赛实例,从数据结构、算法策略、时间复杂度与空间复杂度优化等多个角度,对各类经典问题进行求解,重点讲解了如何分析问题和解决问题,并提供了优化过程,引导读者进行刷题实战,进而提高算法思维能力,以更高的视角看待问题。http://www.broadview.com.cn/article/420385
13.北京林业大学《数据结构与算法》课件PPT期末总结.pptx北京林业大学《数据结构与算法》课件PPT 期末总结.pptx,北京林业大学信息学院 数据结构期末总结 Office: 西配楼304(软件教研室) 北京林业大学信息学院 2021年5月6日 1、选择题 2、判断题 3、填空题 4、应用题 5、算法设计题(程序填空和编写程序) 期末考试题型 2021年5月https://max.book118.com/html/2021/0506/6003214113003144.shtm
14.数据结构与算法大致会学些什么内容?会涉及道那些知识点?数据结构与算法,是计算机科学领域的基石。在这个领域中,我们主要学习的是基本的数据结构和算法。数据结构包括但不限于线性表、堆栈、队列、树等,这些都是组织数据的方式。通过这些结构,我们能够高效地存储和管理数据。例如,堆栈和队列用于任务调度,树用于文件系统组织。算法方面,我们涉及排序算法、查找https://zhidao.baidu.com/question/1651039866385746660.html