成功加入购物车

去购物车结算 X
果然是好书店
  • 算法设计与分析基础(C++版)(微课视频版) 9787302609483
  • 算法设计与分析基础(C++版)(微课视频版) 9787302609483
  • 算法设计与分析基础(C++版)(微课视频版) 9787302609483
  • 算法设计与分析基础(C++版)(微课视频版) 9787302609483

算法设计与分析基础(C++版)(微课视频版) 9787302609483

举报

可开发票,支持7天无理由

  • 出版时间: 
  • 装帧:    平装
  • 开本:    其他
  • ISBN:  9787302609483
  • 出版时间: 
  • 装帧:  平装
  • 开本:  其他

售价 42.47 7.1折

定价 ¥59.80 

品相 全新

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2024-03-05

    数量
    库存5
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 商品分类:
      综合性图书
      货号:
      1202905226
      商品描述:
      前言

      党的二十大报告指出,教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是生产力、人才是资源、创新是动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。 用计算机求解问题是将特定问题的求解过程转换为计算机可以执行的程序。能够设计好的程序是计算机专业学生的基本功。在计算机教学体系中涉及编程的主要课程有“高级程序设计语言”“数据结构”“算法设计与分析”。这些课程相互承接,程序设计语言是求解问题的工具,数据结构是求解问题的基础,算法设计是求解问题的关键。 “算法设计与分析”课程是计算机科学与技术等专业的专业必修课,课程目的是通过学习、理解并掌握算法设计的主要策略和算法复杂性分析的方法,能熟练运用各种数据结构和常用算法策略设计高效算法,培养学生分析问题和解决复杂工程问题的能力,为学生进一步学习后续课程奠定良好的基础。 本书是编者长期从事“数据结构”“算法设计与分析”课程本科生和研究生教学的经验总结,凝聚了编者的教学体会和理念。 1. 本书内容 
      全书由9章构成,各章内容如下。 第1章为概论,介绍算法的概念、算法描述方法、算法设计步骤和算法时空分析方法。 第2章为常用数据结构及其应用,结合STL介绍线性表、字符串、栈、队列、双端队列、树、二叉树、二叉排序树、平衡二叉树、优先队列、并查集、图和哈希表等数据结构的原理和应用,讨论如何针对求解问题设计好的数据结构。 第3章为基本算法设计方法,介绍穷举法、归纳法、迭代法和递归法等常用的算法设计方法,讨论递推式计算等基本算法分析方法。 第4章为分治法,介绍分治法的原理和框架,讨论利用分治法求解排序问题、查找问题、组合问题、求xn和An问题,包括求连续子序列和、字符串匹配、楼梯问题、求幂集和求全排列等典型算法。 第5章为回溯法,介绍解空间概念和回溯法框架,根据解空间的类型分别讨论基于子集树框架的问题求解方法和基于排列树框架的问题求解方法,包括子集和问题、简单装载问题、0/1背包问题、n皇后问题、任务分配问题、出栈序列、图的m着色和货郎担问题等典型算法。 第6章为分支限界法,介绍分支限界法的要点和框架,讨论广度优先搜索、队列式分支限界法和优先队列式分支限界法,包括图的单源短路径、0/1背包问题、任务分配问题和货郎担问题等典型算法。 第7章为贪心法,介绍贪心法的策略和要点,讨论采用贪心法求解组合问题、图问题、调度问题和哈夫曼编码,包括活动安排问题Ⅰ、Prim、Kruskal、Dijkstra和不带/带惩罚的调度问题等典型算法。 第8章为动态规划,介绍动态规划的原理和要点,讨论一维动态规划、二维动态规划、三维动态规划、字符串动态规划、背包动态规划、树形动态规划和区间动态规划算法设计方法,包括连续子序列和、长递增子序列、活动安排问题Ⅱ、三角形小路径和、Floyd算法、双机调度、长公共子序列、编辑距离、0/1背包问题、完全背包问题和多重背包问题等典型算法。 第9章为NP完全问题,介绍P类、NP类和NP完全问题。 书中带“*”号的部分作为选学内容。   
      2. 本书特色 
      本书具有如下鲜明特色:  (1) 由浅入深,循序渐进。每种算法策略从设计思想、算法框架入手,由易到难地讲解经典问题的求解过程,使读者既能学到求解问题的方法,又能通过对算法策略的反复应用掌握其核心原理,以收到融会贯通之效。 (2) 示例丰富,重视启发。书中列举大量的具有典型性的求解问题,深入剖析采用相关算法策略求解的思路,展示算法设计的清晰过程,并举一反三,激发学生学习算法设计的兴趣。 (3) 注重求解问题的多维性。同一个问题采用多种算法策略实现,例如任务分配问题采用基于子集树框架和排列树框架以及分支限界法求解,0/1背包问题采用回溯法、分支限界法和动态规划求解等。通过不同算法策略的比较,使学生更容易体会到每种算法策略的设计特点和各自的优缺点,以提高算法设计的效率。 (4) 强调实践和动手能力的培养。书中以实战形式讨论了部分在线编程题的设计过程,包括求解问题的相关知识点、完整可通过的程序代码和提交结果,这些实战题来自力扣中国、北京大学POJ和杭州电子科技大学HDU网站,让学生体会到“学以致用”和解决实际问题的乐趣。 (5) 本书配套有《算法设计与分析基础(C 版)学习和实验指导》(李春葆等,清华大学出版社),涵盖所有练习题、上机实验题和在线编程题的参考答案。 3. 教学资源 
      为了方便教师教学和学生学习,本书提供了全面而丰富的教学资源,内容如下。  (1) “算法设计与分析”课程教学大纲(含课程思政)和电子教案: 包含教学目的、课程内容和学时分配(42学时),以及各章的课程思政要点和每个课时的教学内容安排。 (2) 教学PPT: 提供全部教学内容的精美PPT课件(947页),供任课教师在教学中使用。 (3) 源程序代码: 所有源程序代码按章组织,例如ch3文件夹存放第3章的源程序代码,其中perm.cpp为求全排列的源程序代码,Example\\exam33.cpp为例33的源程序代码,HDU1274.cpp为实战题HDU1274的源程序代码。 (4) “算法设计与分析”实验课程教学大纲: 包含课程介绍、教学目的、实验基本要求与方式、实验报告、实验内容与学时分配(15~21学时),以及每个实验可供选择的单机实验题和在线编程题。 (5) 本书配套有绝大部分知识点的教学视频,视频采用微课碎片化形式组织(含96个小视频,累计超过20小时)。   
      资源下载提示 课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载。 

      商品简介

      本书系统地介绍了C STL中各种数据结构容器的应用,讨论穷举法、归纳法、迭代法和递归法等基本算法设计方法,以及五大算法设计策略,即分治法、回溯法、分支限界法、贪心法和动态规划的原理及典型算法设计,同时以LeetCode、POJ和HDU网站相关题目为实战,深入剖析各种算法实现技术。 全书既注重原理又注重实践,配有大量图表、练习题、上机实验题和在线编程题,内容丰富,概念讲解清楚,表达严谨,逻辑性强,语言精练,可读性强。 本书既便于教师课堂讲授,又便于自学者阅读,可作为高等院校“算法设计与分析”课程的教材,也可供ACM和各类程序设计竞赛者参考。


      作者简介

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


      目录

      第1章概论1.1算法概述1.1.1什么是算法1.1.2算法描述1.1.3算法和数据结构1.1.4算法设计的基本步骤1.2算法分析1.2.1算法的时间复杂度分析1.2.2算法的空间复杂度分析1.3练习题1.3.1单项选择题1.3.2问答题1.3.3算法设计题第2章常用数据结构及其应用2.1线性表2.1.1什么是线性表 
      2.1.2vector向量容器2.1.3STL通用算法2.1.4list链表容器2.2字符串2.2.1什么是字符串2.2.2string字符串容器2.3栈、队列和双端队列2.3.1什么是栈、队列和双端
      队列2.3.2deque双端队列容器2.3.3queue队列容器2.3.4stack栈容器2.4二叉树和优先队列2.4.1二叉树2.4.2优先队列2.4.3priority_queue优先队列
      容器2.5树和并查集2.5.1树2.5.2并查集2.6图2.6.1图基础2.6.2生成树和小生成树2.6.3短路径2.6.4拓扑排序2.7二叉排序树和平衡二叉树2.7.1二叉排序树2.7.2平衡二叉树
      2.7.3集合容器set/multiset2.7.4映射容器map/multimap  2.8哈希表2.8.1什么是哈希表2.8.2哈希集合容器unordered_set
      2.8.3哈希映射容器unordered_map
      2.9设计好的数据结构2.10练习题2.10.1单项选择题2.10.2问答题2.10.3算法设计题2.11上机实验题2.11.1高效地插入、删除和
      查找2.11.2一种特殊的队列2.11.3方块操作2.12在线编程题第3章基本算法设计方法3.1穷举法3.1.1穷举法概述3.1.2连续子序列和3.1.3字符串匹配3.1.4实战——查找单词
      (POJ1501)3.2归纳法3.2.1归纳法概述3.2.2直接插入排序3.2.3楼梯问题3.2.4猴子摘桃子问题3.2.5实战——骨牌铺方格
      (HDU2046)3.3迭代法3.3.1迭代法概述3.3.2简单选择排序3.3.3求多数元素3.3.4求幂集3.3.5实战——子集(LeetCode78)
      3.4递归法3.4.1递归法概述3.4.2冒泡排序3.4.3求全排列3.4.4实战——展开字符串
      (HDU1274)3.5递推式计算3.5.1直接展开法3.5.2递归树方法3.5.3主方法3.6练习题3.6.1单项选择题3.6.2问答题3.6.3算法设计题3.7上机实验题3.8在线编程题第4章分治法4.1分治法概述4.1.1什么是分治法4.1.2分治法框架4.2求解排序问题4.2.1快速排序4.2.2查找一个序列中第k小的
      元素4.2.3归并排序4.2.4实战——求逆序数
      (POJ2299)4.3求解查找问题4.3.1查找和次大元素4.3.2二分查找4.3.3查找两个等长有序序列的
      中位数4.3.4查找问题4.3.5*实战——有序数组中的
      单一元素(LeetCode540)
      4.4求解组合问题4.4.1连续子序列和4.4.2棋盘覆盖问题4.4.3循环日程安排
      问题4.4.4求近点对距离4.4.5实战——求两组点之间的
      近点对(POJ3714)4.5求xn和An问题4.5.1求xn问题4.5.2求An问题4.5.3实战——用矩阵快速幂求
      Fibonacci数列(POJ3070)
      4.6练习题4.6.1单项选择题4.6.2问答题4.6.3算法设计题4.7上机实验题4.8在线编程题第5章回溯法5.1回溯法概述5.1.1问题的解空间5.1.2什么是回溯法5.1.3回溯法算法的框架5.1.4回溯法算法的时间
      分析5.2基于子集树框架的问题求解5.2.1子集和问题5.2.2简单装载问题5.2.30/1背包问题5.2.4n皇后问题5.2.5任务分配问题5.2.6出栈序列5.2.7图的m着色5.2.8实战——救援问题
      (HDU1242)5.3基于排列树框架的问题求解5.3.1任务分配问题5.3.2货郎担问题5.3.3实战——含重复元素的全
      排列Ⅱ(LeetCode47)5.4练习题5.4.1单项选择题5.4.2问答题5.4.3算法设计题5.5上机实验题5.6在线编程题第6章分支限界法6.1分支限界法概述6.1.1什么是分支限界法6.1.2分支限界法的设计要点6.1.3分支限界法的时间分析6.2广度优先搜索6.2.1广度优先搜索概述6.2.2实战——抓牛问题
      (POJ3278)6.2.3实战——推箱子
      (HDU1254)6.2.4实战——腐烂的橘子
      (LeetCode994)
      6.3队列式分支限界法6.3.1队列式分支限界法概述6.3.2图的单源短路径6.3.30/1背包问题6.3.4实战——网格中的短
      路径(LeetCode1293)6.4优先队列式分支限界法6.4.1优先队列式分支限界法
      概述6.4.2图的单源短路径6.4.3实战——小体力消耗路
      径(LeetCode1631)6.4.40/1背包问题6.4.5任务分配问题6.4.6货郎担问题6.5练习题6.5.1单项选择题6.5.2问答题6.5.3算法设计题6.6上机实验题6.7在线编程题第7章贪心法7.1贪心法概述7.1.1什么是贪心法7.1.2贪心法求解问题具有的
      性质7.1.3贪心法的一般求解过程7.2求解组合问题7.2.1活动安排问题Ⅰ7.2.2实战——加工木棍
      (POJ1065)7.2.3求解背包问题7.3求解图问题7.3.1用Prim算法构造小生
      成树7.3.2用Kruskal算法构造小
      生成树7.3.3实战——建设道路
      (POJ3625)7.3.4用Dijkstra算法求单源
      短路径7.3.5实战——短路径问题
      (HDU3790)7.4求解调度问题7.4.1不带惩罚的调度问题7.4.2带惩罚的调度问题7.4.3实战——赶作业
      (HDU1789)7.5哈夫曼编码7.5.1哈夫曼树和哈夫曼编码7.5.2实战——后一块石头的
      重量(LeetCode1046)7.6练习题7.6.1单项选择题7.6.2问答题7.6.3算法设计题7.7上机实验题7.8在线编程题第8章动态规划8.1动态规划概述8.1.1从一个简单示例入门8.1.2动态规划的原理8.1.3动态规划求解问题的性质
      和步骤8.1.4动态规划与其他方法的
      比较8.2一维动态规划8.2.1连续子序列和8.2.2实战——子序列和
      (LeetCode53)8.2.3长递增子序列8.2.4*活动安排问题Ⅱ8.3二维动态规划8.3.1三角形小路径和8.3.2实战——下降路径小
      和(LeetCode931)8.4三维动态规划8.4.1用Floyd算法求多源短
      路径8.4.2*双机调度问题8.5字符串动态规划8.5.1长公共子序列8.5.2编辑距离8.6背包动态规划8.6.10/1背包问题8.6.2完全背包问题8.6.3实战——零钱兑换
      (LeetCode322)8.6.4*多重背包问题8.7树形动态规划8.7.1实战——庆祝晚会
      (HDU1520)8.7.2实战——找矿
      (LeetCode337)8.8区间动态规划8.8.1实战——戳气球
      (LeetCode312)8.8.2实战——长回文
      子串(LeetCode5)8.9练习题8.9.1单项选择题8.9.2问答题8.9.3算法设计题8.10上机实验题8.11在线编程题第9章NP完全问题9.1P类和NP类9.1.1易解问题和难解问题9.1.2判定问题9.1.3P类9.1.4NP类9.2多项式时间变换和NP完全
      问题9.2.1多项式时间变换9.2.2NP完全性及其性质9.2.3个NP完全问题9.2.4其他NP完全问题9.3练习题9.3.1单项选择题9.3.2问答题参考文献 
      【前言】在线作业: 扫描封底的作业系统二维码,登录网站在线做题及查看答案。视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。 本书第1、3、4章由中国劳动关系学院陈良臣编写,第2章和第9章由武汉大学喻丹丹编写,第5~8章由武汉大学李春葆编写,李春葆完成全书的规划和统稿工作。本书的出版得到清华大学出版社魏江江分社长的全力支持,王冰飞老师给予精心编辑,LeetCode、POJ和HDU网站提供了无私的帮助,编者在此一并表示衷心感谢。尽管编者不遗余力,但由于水平所限,本书仍可能存在不足之处,敬请教师和同学们批评指正。 编者
      2023年4月            


      主编推荐

      本书配套资源丰富,包括教学大纲、947页的教学课件、电子教案、程序源码、实验大纲、题库版在线作业,作者还为本书精心录制了20小时的微课视频。
      【内容简介】

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看