在前置课程《程序设计语言》中,大家已经学会了如何利用编程语言操作数据解决一些简单的现实问题。针对同一问题,不同程序的时间和空间效率会有巨大的差别,这取决于数据组织方式和操作流程。本课程将和大家一起探讨常见问题的数据组织、数据操作的策略和方法,并进行时空效率的分析。具体为:将现实世界问题划分为集合、线性、树形、图形四种基本逻辑结构。针对每种逻辑结构,首先会和大家探讨其常用的数据组织形式、基本操作的实现方式及对应时空复杂度;然后以几个现实案例为例,让大家学会针对具体问题灵活选择甚至设计合适的存储结构,进而设计高效的算法。通过本课程的学习你将掌握计算机解决现实问题的一些基本原则和技巧,培养你的高阶计算思维能力。
通过该课程的学习,你会掌握线性、树形、图形等基本逻辑结构的特点、常用存储结构及基本操作的实现方式以及优缺点,并能针对具体的问题选择、改造甚至设计合适的存储结构。你将具有一定的问题分析能力,能够对具有一定复杂程度的现实案例进行分析并抽象出数学模型;你将具有较强的数据组织能力,能够根据数学模型的特点确定合理的数据组织形式;你将具有一定的算法设计能力,能够利用递归、迭代等思路解决简单的算法设计问题;你将具有较强的程序设计能力,能够将上述问题的算法描述转换为具体的编程实现。这些能力将为后续专业课程的学习打下坚实的理论和实践基础。
“数据结构”是计算机科学与技术专业、软件工程专业甚至于其它电气信息类专业的重要专业基础课程。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其它课程,还是对从事大型信息工程的开发,都是重要而必备的基础。
该课程的学习者应至少掌握一门编程语言(推荐C语言),具有一定的程序设计能力。
刚掌握一门编程语言的你是不是有一种跃跃欲试的感觉?快来这里看看吧!这里能让你从一个刚学会使用绘画工具的新手,成长为一个熟练作画的画匠,甚至领略大画家挥毫泼墨的潇洒也未尝不可!百日修炼,取得真经,盖世本领,学妹膜拜!

