数据结构(Data Structures)(2018秋)

随堂模式

  • 什么是随堂模式?

    随堂模式课程一般为每学期一轮次,课程每周更新,作业、考试有截止时间,由课程提供方老师、助教指导,课程完结,成绩由老师确认后,统一发放证书。

  • 什么是自主模式?

    自主模式课程常年开放加入,课件全部开放,作业、考试无截止时间,有学堂在线招募选拔的助教指导,考核通过即可自动获得证书。

来自于: 华南理工大学 | 分类: 计算机(663)

课程描述

在这门课程中,你将学习到数据的基本的存储和计算的方法,掌握线性表、栈、队列、树、图等基本的数据结构以及相关的基本算法。

什么是认证证书?
免费学习
认证学习
名师签名
实名认证
权威性
纸质证书
付费购买
免费赠送

课程简介

数据结构是计算机学科各专业的一门重要专业基础课程。本课程主要论述数据的逻辑结构、存储结构、算法设计以及算法评价四方面的内容,使学生对线性表、栈、队列、树、图等各种数据结构以及查找、排序等基础算法有深入的了解;还要求学生针对具体的工程问题,系统地掌握在不同的数据结构上进行有关算法设计的思想和技巧。数据结构是一门理论性和实践性都很强的课程。

课程成绩考核:平时作业:100%;合格分数线:60分。


展开

课程章节

1. Introduction
1.1 Introduction of Data Structure
1.2 Data Structure and Algorithm
1.3 Asymptotic Analysis
1.4 Simplifying Rules of Asymptotic Analysis
2. List
2.1 Introduction of List
2.2 Array based List
2.3 Insertion Operation on Array based List
2.4 Remove Operation on Array based List
2.5 Linked list
2.6 Insertion Operation on Linked list
2.7 Remove Operation on Linked list
2.8 SetPos Operation on Linked list
2.9 Stack
2.10 Application of Stack
2.11 Queue
3. Tree
3.1 Definition of Binary Tree
3.2 Implementation of Binary Tree
3.3 Traversal
3.4 Binary Search Tree
3.5 Search on BST
3.6 Insertion on BST
3.7 Introduction of Heap
3.8 Construction of Heap
3.9 Operations on Heap
3.10 General Tree
4. Search
4.1 Definition of Searching
4.2 Searching of Sorted Array
4.3 Definition of Hash Table
4.4 Collision in Hash Table
4.5 Extension of Linear Probing
4.6 Insertion Operation of Hash Table
4.7 Search Operation of Hash Table
5. Index
5.1 Introduction of Index
5.2 Linear Index
5.3 2-3 tree index
5.4 Implementation of 2-3 tree
5.5 B-Tree
5.6 Insertion Operation on B+ Tree
5.7 Deletion Operation on B+ Tree
6. Graph
6.1 Definition of Graph
6.2 Implementation of Graph
6.3 Adjacency Matrix
6.4 Adjacency List
6.5 Graph Traversal - DFS
6.6 Graph Traversal - BFS
6.7 Topological Sort
6.8 Shortest Path Problem
6.9 Single Source Shortest Path
6.10 Dijkstra Algorithm
7. Sorting
7.1 Sorting Problem
7.2 Insertion Sort
7.3 Selection Sort
7.4 Bubble Sort
7.5 Shell Sort
7.6 Quick Sort
7.7 Heap Sort
7.8 Comparison

授课教师

  • 吕建明 华南理工大学 计算机科学与工程学院 副教授

    吕建明博士2002年本科毕业于中山大学计算机系,2008年获中科院计算技术研究所博士学位。2014年9月至今在华南理工大学计算机科学与工程学院担任副教授。2016年至2017年,在香港城市大学任访问学者。目前是ACM/CCF会员,中国计算机学会教育专业委员会委员,中文信息学会信息检索专委会通讯委员,YOCSEF广州分会委员,广东华南现代服务业研究院专委会委员。研究兴趣包括数据挖掘、计算机视觉、隐私保护、分布式计算。已经在相关领域发表30篇会议和杂志论文,其中包括ACM CIKM、DASFAA、ICNP、ICPP等领域内重要的会议,以及ACM TOMCCAP、Computer Networks、PPNA等重要SCI杂志。近年来,主持了多项科学研究项目,包括国家自然基金青年基金项目、中科院重点实验室开放基金项目、广东省高等教育教学改革项目、中央高校重点项目和面上项目、企业横向委托项目。参与了多项国家级和省部级项目。获发明专利授权4个,发明专利申请5项,软件著作权6项。曾获优秀获校级本科教学成果一等奖。指导学生获得泛珠三角大学生计算机作品赛全国总决赛金奖。

  • 张见威 华南理工大学 计算机科学与工程学院 副教授

    1991年在浙江大学应用数学专业本科毕业。1997年获浙江大学应用数学专业硕士学位,到华南理工大学计算机学院工作至今。2006年6月获华南理工大学计算机应用技术专业博士学位。2009年至2010年在美国卡内基梅隆大学计算机学院做访问学者。主讲《C++程序设计基础》、《数据结构》、《大学计算机基础》、《多媒体数据压缩》等课程,曾多次荣获华南理工大学教学奖,多次获优秀班主任称号。主要研究兴趣在计算机视觉、医学图像处理等,在Science Signaling、Pattern Recognition等国内外重要学术会议和期刊上发表论文30多篇。“数值逼近中高精度快速算法及在图形图像中的应用”2006年获广东省自然科学奖二等获(第4)。主持省基金博士启动项目、广东省科技计划项目、广州市科技计算项目和多项横向项目,参与2项国家基金项目和多项省市级项目。

  • 肖南峰 华南理工大学 计算机科学与工程学院 教授

    肖南峰一直在教学第一线从事本科生和研究生课程的教学工作。到目前为止,已经先后为25届(计算机学院各个专业、计算机辅休专业、电类联合班、继续教育学院、网络教育学院)本科学生讲授过“高级程序设计语言”和“数据结构”课程,以及为计算机学院的工学硕士研究生讲授了“智能机器人”课程。他的这些教学工作均取得了良好的效果,而且积累了丰富的教学经验。他作为主持人先后承担和完成了由广东省教育厅和学校资助的10项教学研究课题,建立好了面向全省的“数据结构”精品课程网站和“智能机器人技术”课程网站及“机器人专题学习网站”。此外,在这些教学研究基金的资助下,他已经编写完成和出版了《数据结构与算法(C++语言版)》和《算法分析与设计——数据结构实践》及《企业信息化》等一批教材。近年来,肖南峰教授对于智能机器人和智能计算机等进行了深入的研究,他作为主持人先后承担和完成了4项国家自然科学基金项目、2项广东省自然科学基金重点项目、1项广东省基础与应用基础研究(重大培育)项目、1项广东省公益研究与能力建设专项资金项目、2项广东优秀科技专著出版基金会出版基金项目,以及教育部、广东省科技厅、广东省教育厅、广州市科信局、华南理工大学等资助的科研课题共计30多项,相关研究成果分别发表在日本著名的学术刊物JSME International Journal和Springer-Verlag的重要学术刊物The international Journal of Advanced Manufacturing Technology,以及收录在由国际著名刊物International Journal of Advanced Robotic Systems出版的研究专著《Cutting Edge Robotics》和《Industrial Robotics--Theory, Modeling & Control》,以及美国Nova Science Publishers, Inc. 出版的研究专著《Robot Vision: Strategies,Algorithms and Motion Planning》中。目前,他在国内外著名学术刊物和重要会议上共发表学术论文200篇,其中被SCI和EI等三大索引收录近100篇(次),已经出版了《仿人机器人》、《智能机器人》、《工业机器人》、《服务机器人》和将要出版《机器人大脑》等专著和教材。并且已经获得或正在申请14项专利,以及26个软件版权。在学校和学院的关心和支持下,他与其他同事一起初步建立好了在国内外具有影响,集智能计算机和智能机器人研究、开发、应用、教育于一体的科研基地。

精华笔记

精华笔记正在评选中,去看看全部笔记

常见问题

我是否需要课本?

参考教材:Clifford A. Shaffer. 数据结构与算法分析 C++版 第二版. 英文版. 电子工业出版社.

学习这门课程之前,我需要熟练掌握哪些基础知识

1) C++程序设计语言。掌握,类、继承、抽象类、模板等基础知识。