搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
跟我学数据结构
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302330097
  • 作      者:
    陈锐,葛丽萍编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2013
收藏
内容介绍

  数据结构是计算机专业的基础和核心课程。
  《跟我学数据结构》内容全面,语言通俗易懂,案例典型、丰富,结构清晰,重点难点突出,所有算法都有完整程序,能直接运行。
  《跟我学数据结构》内容包括数据结构概述、常用的c程序开发环境、线性表、栈、队列、串、数组、广义表、树、图、查找、排序。
  《跟我学数据结构》可作为从事计算机软件开发、准备考取计算机专业研究生和参加软考的人员学习数据结构与算法的参考书,也可以作为计算机及相关专业的数据结构课程教材。

展开
精彩书摘
  1.5.1 数据结构课程的地位
  数据结构是计算机理论与技术的重要基石,是计算机科学的核心课程。作为一门独立的专业基础课程,数据结构在国外是从1968年才开始设立的。在那之前,它的某些内容曾在其他课程,如表处理语言中有所阐述。
  1968年在美国一些大学的计算机系的教学计划中,虽然把数据结构规定为一门课程,但对课程的范围仍没有做明确规定。当时,数据结构几乎与图论,特别是与表、树的理论为同义词。随后,数据结构这个概念被扩充到包括网络、集合代数论、格、关系等方面,从而变成了现在称为离散数学的内容。
  然而,由于数据必须在计算机中处理,因此,不仅考虑数据本身的数学性质,而且还必须考虑数据的存储结构,这就进一步扩大了数据结构的内容。近年来,随着数据库系统的不断发展,在数据结构课程中又增加了文件管理的内容。
  1968年,美国的Donald.E.Knuth开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。
  从20世纪60年代末到70年代初,出现了大型程序,软件也相对独立,结构化程序设计成为程序设计方法学的主要内容,人们越来越重视数据结构,认为程序设计的实质是对确定的问题选择一种好的结构,加上设计一种好的算法。从20世纪70年代中期到80年代初,各种版本的数据结构著作就相继出现了。
  1.5.2 数据结构课程的重要性
  目前在我国,数据结构已经不仅仅是计算机专业的核心课程之一和计算机考研的专业基础课程之一,也是非计算机专业的主要选修课程之一。
  “数据结构”课程在计算机科学中是一门综合性的专业基础课。“数据结构”不仅仅涉及计算机硬件的研究范围,特别是编码理论、存储装置和存取方法等,还与计算机软件的研究有着更为密切的关系,无论是编译程序还是操作系统,都涉及数据元素在存储器中的分配问题。“数据结构”课程是操作系统、数据库原理、编译原理、人工智能、算法设计与分析等课程的基础,“数据结构”课程是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。在计算机科学与技术领域中,“数据结构”不仅是一般程序设计(特别是非数值程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统和大型应用程序的重要基础。
  ……
展开
目录
第1章 概述
1.1 数据结构的基本概念
1.2 抽象数据类型
1.2.1 抽象数据类型的定义
1.2.2 抽象数据类型的描述
1.3 算法的特性与算法的描述
1.3.1 算法的定义
1.3.2 算法的特性
1.3.3 算法的描述
1.4 算法分析
1.4.1 算法设计的要求
1.4.2 算法效率评价
1.4.3 时间复杂度
1.4.4 空间复杂度
1.5 如何学好数据结构
1.5.1 数据结构课程的地位
1.5.2 数据结构课程的重要性
1.5.3 如何学好数据结构

第2章 C语言基础
2.1 开发环境介绍
2.1.1 TurboC2.0开发环境介绍
2.1.2 VisualC++6.0开发环境介绍
2.2 递归与非递归
2.2.1 函数的递归调用
2.2.2 递归函数应用举例
2.2.3 一般递归转化为非递归(使用迭代)
2.3 指针
2.3.1 指针变量
2.3.2 指针变量的引用
2.3.3 指针与数组
2.3.4 函数指针与指针函数
2.4 参数传递
2.4.1 传值调用
2.4.2 传地址调用
2.5 结构体与共用体
2.5.1 结构体的定义
2.5.2 指向结构体的指针
2.5.3 共用体及应用
2.6 动态内存分配与释放
2.6.1 内存动态分配与释放
2.6.2 链表
2.7 小结
2.8 习题

第3章 线性表
3.1 线性表的概念及抽象数据类型
3.1.1 线性表的定义
3.1.2 线性表的抽象数据类型
3.2 线性表的顺序表示与实现
3.2.1 线性表的顺序存储结构
3.2.2 顺序表的基本运算
3.2.3 顺序表基本运算的算法分析
3.3 顺序表的应用举例
3.4 线性表的链式表示与实现
3.4.1 单链表的存储结构
3.4.2 单链表上的基本运算
3.5 单链表应用举例
3.6 循环单链表
3.6.1 循环链表的链式存储
3.6.2 循环单链表的应用
3.7 双向链表
3.7.1 双向链表的存储结构
3.7.2 双向链表的插入操作和删除操作
3.8 双向链表的应用
3.9 静态链表
3.9.1 静态链表的存储结构
3.9.2 静态链表的实现
3.9.3 静态链表的应用
3.1 0各种线性表的操作
3.1 1一元多项式的表示与相乘
3.1 1.1 一元多项式的表示
3.1 1.2 一元多项式相乘
3.1 2小结
3.1 3习题

第4章 栈
4.1 栈的表示与实现
4.1.1 栈的定义
4.1.2 栈的抽象数据类型
4.2 栈的顺序表示与实现
4.2.1 栈的顺序存储结构
4.2.2 顺序栈的基本运算
4.2.3 共享栈的问题
4.3 栈的应用举例
4.4.栈的链式表示与实现
4.4.1 栈的存储结构
4.4.2 栈的基本运算
4.4.3 链栈的应用
4.5 栈的应用举例
4.5.1 数制转换
4.5.2 括号配对
4.5.3 行编辑程序
4.6 栈与递归的实现
4.6.1 递归
4.6.2 消除递归
4.7 栈的应用举例
4.7.1 表达式的转换与运算
4.7.2 表达式的运算举例
4.8 小结
4.9 习题

第5章 队列
5.1 队列的定义
5.1.1 队列的定义
5.1.2 队列的抽象数据类型
5.2 队列的顺序存储及实现
5.2.1 顺序队列的表示
5.2.2 顺序队列的“假溢出
5.2.3 顺序循环队列的表示
5.2.4 顺序循环队列的实现
5.2.5 顺序循环队列实例
5.3 队列的链式存储及实现
5.3.1 链式队列的表示
5.3.2 链式队列的实现
5.3.3 链式队列实例
5.4 双端队列
5.4.1 双端队列的定义
5.4.2 双端队列的应用
5.5 队列在杨辉三角中的应用
5.5.1 杨辉三角
5.5.2 杨辉三角的队列构造
5.5.3 杨辉三角队列的实现
5.6 小结
5.7 习题

第6章 串
6.1 串
6.1.1 串的定义
6.1.2 串的抽象数据类型
6.2 串的顺序表示与实现
6.2.1 串的顺序存储结构
6.2.2 串的基本运算
6.3 串的应用举例
6.4 串的堆分配表示与实现
6.4.1 堆分配的存储结构
6.4.2 堆串的基本运算
6.5 堆串的应用举例
6.6 串的链式存储表示与实现
6.6.1 串的链式存储结构
6.6.2 链串的基本运算

第7章 数组
第8章 广义表
第9章 树
第10章 图
第11章 查找
第12章 排序

参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证