您好,欢迎光临有路网!
数据结构和算法基础Python语言实现
QQ咨询:
有路璐璐:

数据结构和算法基础Python语言实现

  • 作者:陈良旭
  • 出版社:北京大学出版社
  • ISBN:9787301316542
  • 出版日期:2020年11月01日
  • 页数:324
  • 定价:¥79.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书首先介绍算法的概念和特点,然后介绍数据结构,再逐步深入介绍各类算法,通过解决实际问题加深理解。本书选取了近年来比较热门的语言Python作为载体,来实现算法的功能。这不但可以让读者系统地学习算法的相关知识,而且还能提高读者对Python语言的应用水平。 本书分为7章,涵盖的主要内容有算法简介、数据结构、数学相关算法、排序算法、查找算法、图相关算法、算法思想归纳。其中包含对非常多经典算法的讲解,如归并排序、快速排序、拓扑排序、二叉查找树、红黑树、*小生成树算法、*短路径算法、极大极小值算法、遗传算法等。*后通过归纳总结,让读者懂得常见算法的设计思路,能够根据实际情况选择合适的算法。
    文章节选
    简单来说,算法是解决问题的方法与步骤。算法不仅指加减乘除等算术运算,而且包括做任何事情的计算法则,即一个解决问题的通用方法。我们可以把它想象为一个菜谱、一本说明手册、一条公式。例如,想用豆浆机做豆浆,通常步骤如下。
    (1)打开豆浆机盖子。
    (2)倒入约800mL 的水。
    (3)倒入约200g 的黄豆。
    (4)盖上盖子。
    (5)通电,按“开始”按钮。
    (6)等到绿色灯亮,豆浆做好,可以放适量的糖。
    通过以上步骤,就解决了做豆浆的问题,这就是一个方法。现实生活中的方法与程序中的算法略有不同,程序算法更为严谨,不会出现描述比较模糊的部分,如约、适量等,它们都是用数学方式来描述,非常精准。算法的5 个特性如下。
    (1)输入(Input):算法必须有输入量,用以刻画算法的初始条件(特殊情况下也可以没有输入量,这时算法本身定义了初始状态)。
    (2)输出(Output)���算法应有一个或一个以上的输出量,输出量是算法计算的结果。没有输出的算法毫无意义。
    (3)明确性(Definiteness):算法的描述必须无歧义,以保证算法的实际运行结果**匹配要求或期望。通常也要求实际运行结果是确定的。
    (4)有限性(Finiteness):算法必须在有限个步骤内完成任务。
    (5)有效性(Effectiveness):算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现(又称可行性)。
    目录
    第1章 从零开始学算法 1 1.1 算法基础知识 21.1.1 什么是算法 2 1.1.2 算法时间复杂度 2 1.1.3 算法空间复杂度 5 1.1.4 算法优劣比较 6 1.2 计算机中如何描述算法 61.2.1 自然语言 7 1.2.2 流程图 7 1.2.3 伪代码 8 1.2.4 挑战:这个月有多少天 8 1.3 Python概述 101.3.1 Python简介 10 1.3.2 环境搭建 11 1.3.3 开发工具介绍 15 1.3.4 单元测试 22 1.4 总结 252 第2章 数据结构 27 2.1 数组 282.1.1 定义 28 2.1.2 挑战1:海盗船生存大考验 30 2.1.3 挑战2:必胜的游戏 32 2.2 链表 372.2.1 定义 37 2.2.2 挑战:国王的继承人 43 2.3 队列 452.3.1 定义 45 2.3.2 挑战:维修报警器 48 2.4 栈 502.4.1 定义 51 2.4.2 挑战1:和机器人做朋友 52 2.4.3 挑战2:让机器人帮你检查作业 54 2.5 哈希表 562.5.1 定义 56 2.5.2 挑战:基因研究 62 2.6 树 642.6.1 定义 65 2.6.2 二叉树 66 2.6.3 二叉查找树 71 2.6.4 挑战:画一棵好看的“树” 75 2.7 图 782.7.1 定义 79 2.7.2 图的表示 79 2.7.3 图的遍历 82 2.7.4 挑战:“一笔画完”小游戏 86 2.8 总结 913 第3章 数 学 92 3.1 进制转换 93 3.2 基本概念 933.2.1 十进制 93 3.2.2 二进制 93 3.2.3 八进制和十六进制 93 3.2.4 进制转换 94 3.2.5 挑战:网络攻击 98 3.3 数学运算 1003.3.1 内置函数 100 3.3.2 Math库模块 101 3.3.3 排列组合 102 3.3.4 矩阵运算 102

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外