西南财经大学天府学院
教学大纲
任课教师:
课程名称:数据结构
任课班级:2007级本科计算机专业
授课时间:2008—2009 第一学期
西南财经大学天府学院教务处制
一,课程前言:
数据结构是计算机及其相关专业的一门重要的专业基础课程.当用计算机来解决实际问题时,就要涉及到数据(Data)的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打下坚实的基础,同时也提供必要的技能训练.因此,数据结构课程在计算机及其相关专业中具有举足轻重的地位.
本课程的任务是:在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会.
本课程的主要内容包括:
⑴数据(Data),数据元素(element)和数据项(item)的概念及其相互间的关系;数据结构的逻辑结构(Logic structures),存储结构(Storage structures)的联系与区别以及在数据结构上施加的运算(Operations)及其实现(Implementations).
⑵线性表(Linear List)的定义及其运算;顺序表(Sequential List)和链表(Linked List)的定义,组织形式,结构特征和类型说明以及在这两种表上实现的插入(Insert),删除(Delete)和按值查找(Locate)的算法(Algorithms).循环链表(Circularly Linked Lists ),双(循环)链表(Doubly Linked List)的结构特点和在其上施加的插入,删除等操作.
⑶栈(Stack)和队列(Queue)的定义,特征及在其上所定义的基本运算,在两种存储结构上对栈和队列所施加的基本运算的实现.
(4)树(Tree)的定义(Definition),性质(Properties)及其存储方法;二叉树(Binary Tree)的二叉链表(Binary Linked List)存储方式,结点结构和类型定义;二叉树的遍历(Traverse)算法;树与二叉树间的相互转换;哈夫曼树(Huffman trees)的构造方法.
*(5)图(Graphs)的基本概念及术语;图的两种存储结构(邻接矩阵Adjacency Matrix和邻接表Adjacency List )的表示方法;图的遍历(Traverse graph)--深度优先搜索遍历(Depth-first Traversal)和广度优先搜索遍历(Breadth-first Traversal)--算法;最小生成树(Minimum Spanning Tree)的构造;拓扑排序(Topology sort),关键路径(Critical Path)以及最短路径(Shortest Path)算法.
(6)查找(Searching)的基本思想和基本概念;在顺序表(Sequential List),有序表(Ordered List),散列表(Hashed List)等上的查找方法和算法(Algorithms);二叉排序树(Binary Sort trees),*平衡二叉树(AVL trees)以及*B-树(B-trees)的概念和有关算法;散列表的构造.
(7)排序的基本思想和基本概念;插入排序(Insertion Sort),选择排序(Selection sort),交换排序(Exchange sort)的基本思想,步骤及算法.
本课程的教学重点及难点包括:
⑴领会数据,数据元素和数据项的概念及其相互间的关系.清楚数据结构的逻辑结构,存储结构的联系与区别,以及在数据结构上施加的运算及其实现(Implementation).会进行简单的算法分析(Algorithm efficiency analysis).
⑵理解线性表(Linear List)的定义及其运算.理解顺序表和链表Linked List)的定义,组织形式,结构特征和类型说明,掌握在这两种表上实现的插入(Insert),删除(Delete)和按值查找(Locate)的算法.了解循环链表(Circularly Linked Lists),双(循环)链表(Doubly Linked List)的结构特点和在其上施加的插入,删除等操作.
⑶理解栈(Stack)和队列(Queue)的定义,特征及在其上所定义的基本运算,掌握在两种存储结构上对栈和队列所施加的基本运算的实现.
下一页