返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版] 数据结构教程(Python语言描述) 李春葆 计算机科学与技术数据结构Python语言
  • 本书内容全面、知识点详实,条理清晰
    • 作者: 李春葆,蒋林,李筱驰著
    • 出版社: 清华大学出版社
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    友一个文化制品专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 李春葆,蒋林,李筱驰著
    • 出版社:清华大学出版社
    • 开本:16开
    • ISBN:9788168806814
    • 版权提供:清华大学出版社

            铺公告

      为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。

    温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。

      关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。

     

     

     书名:  数据结构教程(Python语言描述)
     出版社:  清华大学出版社
     出版日期  2020
     ISBN号:  9787302560289

    本书系统地介绍了各种常用的数据结构以及查找和排序的各种算法,阐述了各种数据结构的逻辑关系、存储表示及基本运算,并采用Python语言描述数据组织和算法实现,所有算法的程序均在Python3.7中调试通过。

    全书既注重原理又注重实践,配有大量图表和示例,内容丰富,概念讲解清楚,表达严谨,逻辑性强,语言精练,可读性好。



    李春葆:武汉大学教授,主要研究方向为数据挖掘和算法设计,从事近30年计算机C/C++语言、算法设计和算法设计等课程的第一线本科教学工作,具备丰富的教学经验,曾参于深圳名企的笔试和面试题库建设。出版多本C/C++语言、算法设计、算法设计与分析及数据库开发方面的精品教材和教学辅导书。

    本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、习题答案、教学进度表。

     


    C O N T E N T S

    目录





    源码下载


    第1章绪论


    1.1什么是数据结构


    1.1.1数据结构的定义


    1.1.2数据的逻辑结构


    1.1.3数据的存储结构


    1.1.4数据的运算


    1.1.5数据结构和数据类型


    1.2算法及其描述


    1.2.1什么是算法


    1.2.2算法描述


    1.3Python简介


    1.3.1Python的标准数据类型


    1.3.2列表的复制


    1.3.3输入/输出和文件操作


    1.3.4Python程序设计


    1.3.5Python中变量的作用域和垃圾回收


    1.4算法分析


    1.4.1算法的设计目标


    1.4.2算法的时间性能分析


    1.4.3算法的存储空间分析


    1.5数据结构的目标


    1.6练习题


    1.7上机实验题


    1.8LeetCode在线编程题


    第2章线性表


    2.1线性表的定义


    2.1.1什么是线性表


    2.1.2线性表的抽象数据类型描述


    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.3.5双链表的应用算法设计示例


    2.3.6循环链表


    2.4顺序表和链表的比较


    2.5线性表的应用——两个多项式相加


    2.5.1问题描述


    2.5.2问题求解


    2.6练习题


    2.7上机实验题


    2.7.1基础实验题


    2.7.2应用实验题


    2.8LeetCode在线编程题



    第3章栈和队列


    3.1栈


    3.1.1栈的定义


    3.1.2栈的顺序存储结构及其基本运算算法的实现


    3.1.3顺序栈的应用算法设计示例


    3.1.4栈的链式存储结构及其基本运算算法的实现


    3.1.5链栈的应用算法设计示例


    3.1.6栈的综合应用


    3.2队列


    3.2.1队列的定义


    3.2.2队列的顺序存储结构及其基本运算算法的实现


    3.2.3循环队列的应用算法设计示例


    3.2.4队列的链式存储结构及其基本运算算法的实现


    3.2.5链队的应用算法设计示例


    3.2.6Python中的双端队列


    3.2.7队列的综合应用


    3.2.8优先队列


    3.3练习题


    3.4上机实验题


    3.4.1基础实验题


    3.4.2应用实验题


    3.5LeetCode在线编程题


    第4章串和数组


    4.1串


    4.1.1串的基本概念


    4.1.2串的存储结构


    4.1.3串的模式匹配


    4.2数组


    4.2.1数组的基本概念


    4.2.2特殊矩阵的压缩存储


    4.2.3稀疏矩阵


    4.3练习题


    4.4上机实验题


    4.4.1基础实验题


    4.4.2应用实验题


    4.5LeetCode在线编程题


    第5章递归


    5.1什么是递归


    5.1.1递归的定义


    5.1.2何时使用递归


    5.1.3递归模型


    5.1.4递归与数学归纳法


    5.1.5递归的执行过程


    5.1.6Python中递归函数的参数


    5.1.7递归算法的时空分析


    5.2递归算法的设计


    5.2.1递归算法设计的步骤


    5.2.2基于递归数据结构的递归算法设计


    5.2.3基于归纳方法的递归算法设计


    5.3练习题


    5.4上机实验题


    5.4.1基础实验题


    5.4.2应用实验题


    5.5LeetCode在线编程题


    第6章树和二叉树


    6.1树


    6.1.1树的定义


    6.1.2树的逻辑结构表示方法


    6.1.3树的基本术语


    6.1.4树的性质


    6.1.5树的基本运算


    6.1.6树的存储结构


    6.2二叉树


    6.2.1二叉树的概念


    6.2.2二叉树的性质


    6.2.3二叉树的存储结构


    6.2.4二叉树的递归算法设计


    6.2.5二叉树的基本运算算法及其实现


    6.3二叉树的先序、中序和后序遍历


    6.3.1二叉树遍历的概念


    6.3.2先序、中序和后序遍历的递归算法


    6.3.3递归遍历算法的应用


    6.4二叉树的层次遍历


    6.4.1层次遍历的过程


    6.4.2层次遍历算法的设计


    6.4.3层次遍历算法的应用


    6.5二叉树的构造


    6.5.1由先序/中序序列或后序/中序序列构造二叉树


    *6.5.2序列化和反序列化


    6.6线索二叉树


    6.6.1线索二叉树的定义


    6.6.2线索化二叉树


    6.6.3遍历线索二叉树


    6.7哈夫曼树


    6.7.1哈夫曼树的定义


    6.7.2哈夫曼树的构造算法


    6.7.3哈夫曼编码


    6.8二叉树与树、森林之间的转换


    6.8.1树到二叉树的转换及还原


    6.8.2森林到二叉树的转换及还原


    *6.9并查集


    6.9.1并查集的定义


    6.9.2并查集的实现


    6.10练习题


    6.11上机实验题


    6.11.1基础实验题


    6.11.2应用实验题


    6.12LeetCode在线编程题


    第7章图


    7.1图的基本概念


    7.1.1图的定义


    7.1.2图的基本术语


    7.2图的存储结构


    7.2.1邻接矩阵


    7.2.2邻接表


    7.3图的遍历


    7.3.1图遍历的概念


    7.3.2深度优先遍历


    7.3.3广度优先遍历


    7.3.4非连通图的遍历


    7.4图遍历算法的应用


    7.4.1深度优先遍历算法的应用


    7.4.2广度优先遍历算法的应用


    7.5生成树和最小生成树


    7.5.1生成树和最小生成树的概念


    7.5.2普里姆算法


    7.5.3克鲁斯卡尔算法


    7.6最短路径


    7.6.1最短路径的概念


    7.6.2狄克斯特拉算法


    7.6.3弗洛伊德算法


    7.7拓扑排序


    7.7.1什么是拓扑排序


    7.7.2拓扑排序算法的设计


    7.8AOE网和关键路径


    7.9练习题


    7.10上机实验题


    7.10.1基础实验题


    7.10.2应用实验题


    7.11LeetCode在线编程题


    第8章查找


    8.1查找的基本概念


    8.2线性表的查找


    8.2.1顺序查找


    8.2.2折半查找


    8.2.3索引存储结构和分块查找


    8.3树表的查找


    8.3.1二叉排序树


    8.3.2平衡二叉树


    8.3.3B树


    8.3.4B+树


    8.4哈希表的查找


    8.4.1哈希表的基本概念


    8.4.2哈希函数的构造方法


    8.4.3哈希冲突的解决方法


    8.4.4哈希表的查找及性能分析


    8.5练习题


    8.6上机实验题


    8.6.1基础实验题


    8.6.2应用实验题


    8.7LeetCode在线编程题


    第9章排序


    9.1排序的基本概念


    9.2插入排序


    9.2.1直接插入排序


    9.2.2折半插入排序


    9.2.3希尔排序


    9.3交换排序


    9.3.1冒泡排序


    9.3.2快速排序


    9.4选择排序


    9.4.1简单选择排序


    9.4.2堆排序


    9.4.3堆数据结构


    9.5归并排序


    9.5.1自底向上的二路归并排序


    9.5.2自顶向下的二路归并排序


    9.6基数排序


    9.7各种内排序方法的比较和选择


    9.8外排序


    9.8.1生成初始归并段的方法


    9.8.2多路归并方法


    9.9练习题


    9.10上机实验题


    9.10.1基础实验题


    9.10.2应用实验题


    9.11LeetCode在线编程题


    参考文献




     

     





    F  O R E W O R D

    前言





    数据结构课程是计算机及相关专业的核心专业基础课程。数据结构是指存在相互关系的数据元素集合,并包含相应的数据运算。从数据结构的应用角度看,人们不必关心数据的存储和运算的具体实现细节,将其作为一个功能包用于求解更复杂的问题,这样能在适当的抽象层次上考虑程序的结构和算法; 从数据结构的实现角度看,则需要考虑数据的逻辑类型,将这些数据以某种合理的方式存储在计算机中,继而高效地实现对应运算的算法。

      教学内容设计


    数据结构课程主要以数据的逻辑结构为主线,介绍线性表、栈和队列、树和二叉树、图等各种数据结构的实现和应用,一方面培养学生的基本数据结构观,即从逻辑层面理解各种数据结构的逻辑结构特征以及基本运算,继而合理地实现数据结构,使之成为像程序设计语言中那样直接可以使用的数据类型; 另一方面培养学生运用各种数据结构的能力,即针对一个较复杂的数据处理问题选择合适的数据结构设计出好的求解算法。


    本书围绕这两个目标设计教学内容,总结编者长期在教学第一线的教学研究和教学经验,同时参考近年来国内外出版的多种数据结构教材,考虑教与学的特点,合理地进行知识点的取舍和延伸,精心组织编写而成。本书采用Python语言描述数据结构和算法。本书由9章构成,各章的内容如下: 


    第1章绪论。本章介绍数据结构的基本概念、采用Python语言描述算法的方法和特点、算法分析方法和如何设计算法等。

    第2章线性表。本章介绍线性表的定义、线性表的两种主要存储结构和各种基本运算算法设计,最后通过示例讨论线性表的应用。

    第3章栈和队列。本章介绍栈的定义、栈的存储结构、栈的各种基本运算算法设计和栈的应用; 队列的定义、队列的存储结构、队列的各种基本运算算法设计和队列的应用; Python中的deque和heapq及其使用。


    第4章串和数组。本章介绍串的定义、串的存储结构、串的各种基本运算算法设计、串的模式匹配BF和KMP算法及其应用

    ; 数组的定义、数组的存储方法、几种特殊矩阵的压缩存储和稀疏矩阵的压缩存储。

    第5章递归。本章介绍递归的定义、递归模型、递归算法设计和分析方法。

    第6章树和二叉树。本章介绍树的定义、树的逻辑表示方法、树的性质、树的遍历和树的存储结构; 二叉树的定义、二叉树的性质、二叉树的存储结构、二叉树的基本运算算法设计、二叉树的递归和非递归遍历算法、二叉树的构造、线索二叉树和哈夫曼树、树/森林和二叉树的转换与还原过程、树算法设计和并查集的应用。


    第7章图。本章介绍图的定义、图的存储结构、图的基本运算算法设计、图的两种遍历算法以及图的应用(包括图的最小生成树、最短路径、拓扑排序和关键路径等)。


    第8章查找。本章介绍查找的定义、线性表上的各种查找算法、树表上的各种查找算法以及哈希表查找算法及其应用。


    第9章排序。本章介绍排序的定义、插入排序方法、交换排序方法、选择排序方法、归并排序方法和基数排序方法,

    以及各种内排序方法的比较、外排序过程和相关算法。

    本书教学内容紧扣《高等学校计算机专业核心课程教学实施方案》和《计算机学科硕士研究生入学考试大纲》,涵盖教学方案及考研大纲要求的全部知识点。书中带“*”的章节与示例为选讲或选学内容,难度相对较高,供提高者研习。本书的主要特点如下。

     结构清晰,内容丰富,文字叙述简洁明了,可读性强。

     图文并茂,全书用了300多幅图来表述和讲解数据的组织结构与算法设计思想。

     力求归纳各类算法设计的规律,例如单链表算法中很多是基于建表算法,二叉树算法中很多是基于4种遍历算法,图算法中很多是基于两种遍历算法,如果读者掌握了相关的基础算法,那么对于较复杂的算法设计就会驾轻就熟。

     深入讨论递归算法设计方法。递归算法设计是数据结构课程中的难点之一,编者从递归模型入手,介绍了从求解问题中提取递归模型的通用方法,讲解了从递归模型到递归算法设计的基本规律。

     书中提供了大量的教学示例,将抽象概念和抽象的算法过程具体化。

     与Python语言深度结合,充分利用Python语言中数据类型灵活的特点实现书中的所有算法,所有算法及其示例均在Python 3.7中调试通过。

      教学实验设计


    教学实验是利用数据结构原理解决实际问题必不可少的环节,本书将实验教学和理论教学有机结合,构成完整的体系。

     除第1章外,每一章均包含基础实验和应用实验,基础实验属于验证性实验,是上机实现相关数据结构或者算法,用于培养学生的基本数据组织和数据处理; 应用实验属于设计或者综合性实验,是利用相关数据结构完成较复杂的算法实现,用于提高

    学生运用各种数据结构解决问题的能力。

     每一章包含若干与教学内容紧密结合的、难度适中的在线编程题,所有题目都经过精心挑选,均来自

    力扣(中国)

    (http://leetcodecn.com/)网站。力扣(中国)是一个极好的学习和实验在线编程平台,每一题都提供了多个测试用例,可以对实验算法进行时间和空间的全方位测试。

      配套教学资源


    本书配套的辅助教材《数据结构教程(Python语言描述)学习与上机实验指导》提供了所有练习题和实验题的参考答案,其中所有在线编程题均在相关平台中验证通过。


    为了方便教师教学和学生学习,本书提供了全面、丰富的教学资源,配套教学资源包中的内容如下。

    (1) 教学PPT: 提供全部教学内容的精美PPT课件,仅供任课教师在教学中使用。

    (2) 源程序代码: 所有源代码按章组织,例如ch2文件夹中存放第2章的源代码,其

    “示例”子文件夹中是相关示例的源代码文件,例如ch2的“示例”子文件夹中的Exam23.py是例2.3的源代码。

    (3) 数据结构课程教学大纲: 包含32/48/60课堂讲授学时的教学内容安排和相应的实验教学内容安排,供教师参考。

    (4) 练习题中算法设计题源代码: 提供所有算法设计练习题的源程序代码,仅供任课教师在教学中使用。

    (5) 配有绝大部分知识点和全部Leet Code在线编程题讲解

    的教学视频,视频采用微课碎片化形式组织(含238个小视频,累计超过40小时)。


    资源下载提示


    课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载。

    素材(源码)等资源: 扫描目录上方的二维码下载。

    视频等资源: 扫描封底刮刮卡中的二维码,再扫描书里章节中的二维码,可以在线学习。


    本书第2、3、6、7章由李春葆编写,第1、4、5章由蒋林编写,第8、9章由李筱驰编写,李春葆完成全书的规划和统稿工作。本书的出版得到清华大学出版社计算机与信息分社

    魏江江分社长的全力支持,王冰飞老师给予精心编辑,力扣(中国)网站提供了无私的帮助,编者在此一并表示衷心

    的感谢。尽管编者不遗余力,但由于水平所限,本书难免存在不足之处,敬请教师和同学们批评指正,

    在此表示衷心的感谢。

    编者2020年8月






     

     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购