新書推薦:

《
不被情绪内耗的10种能力
》
售價:HK$
76.9

《
权力意志(全二册。尼采晚年思想结晶;剔除惯性、升华自我的思想利刃)
》
售價:HK$
107.8

《
从领口开始编织的钩针毛衫
》
售價:HK$
64.9

《
日中之光——埃瓦格里乌斯笔下5—6世纪的拜占庭帝国
》
售價:HK$
107.8

《
唐勾检制研究
》
售價:HK$
63.8

《
俄罗斯通史(公元9世纪—1917年)
》
售價:HK$
107.8

《
被争夺的身体:魏玛德国的生育制度
》
售價:HK$
96.8

《
热烈的孤独大宋词人的明月与江湖 大宋顶流小传两宋词人柳永苏轼等两宋王朝史
》
售價:HK$
76.8
|
編輯推薦: |
本书特色
:
(1)注重夯实基础。注重讲解每种数据结构的特点,并结合实例讲解如何正确地使用相应的数据结构和算法。
(2)
关注实用性。注重结合一些经典问题和实际问题,使读者在学习数据结构和算法后能加深对实际问题的了解。
(3)强调培养能力。精选经典和实用性强的算法思想,并结合一些经典问题体现这些算法思想的精髓,帮助读者掌握设计和实现高效、优秀的算法的能力。
(4)体现语言特色。注重体现C 语言的特色,除前3章以外,其余各章的大部分代码都体现了C 的特色和C 在算法实现方面的优势。
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、在线题库和习题答案。
|
內容簡介: |
”本书面向有一定C 语言基础的读者,重点讲解数据结构和相关算法以及经典算法思想。本书不仅注重讲解每种数据结构的特点,还特别注重结合例子讲解如何正确使用每种数据结构和相关的算法,强调使用数据结构和算法解决相应的问题。本书精选了一些经典和实用性强的算法思想,并通过解决一些经典的问题体现这些算法思想的精髓。全书共14章,分别是数据结构概述、算法复杂度、递归算法、数组、链表与list类、顺序表与vector类、栈与stack类、队列与deque类、二叉树与set类、散列表与unordered_map类、集合与unordered_set类、常用算法与 algorithm库、图论和经典算法思想。本书注重体现C 的特色,特别是C 11版本的一些新功能,除前3章外,各章的大部分代码都体现了C 的特色和优势。 本书可作为计算机相关专业“数据结构与算法”课程教材,也可作为软件开发等专业人员的参考用书。 ”
|
關於作者: |
耿祥义,大连交通大学大学教授,辽宁省本科一流课程“面向对象程序设计”课程负责人,作为主编出版教材《java2实用教程》第6版(其中第3版是国家级十一五规划教材),主要研究领域是程序设计与算法,在清华大学出版社出版10余部教材。
张跃平,大连交通大学大学副教授,辽宁省本科一流课程“面向对象程序设计”主讲教师,作为主编出版教材《java2实用教程》第6版(其中第3版是国家级十一五规划教材),主要研究领域是企业智能信息化,在清华大学出版社出版10余部教材。
|
目錄:
|
第1章数据结构概述
1.1逻辑结构
1.2物理结构
1.3算法与结构
1.4C 版本的说明
习题1
第2章算法复杂度
2.1算法
2.2算法的复杂度
2.3常见的复杂度
习题2
第3章递归算法
3.1递归算法简介
3.2线性递归与非线性递归
3.2.1线性递归
3.2.2非线性递归
3.3问题与子问题
3.4递归与迭代
3.5多重递归
3.6经典递归
3.6.1杨辉三角形
3.6.2老鼠走迷宫
3.6.3汉诺塔
3.7优化递归
习题3
第4章数组
4.1数组与参数存值
4.2数组与排序
4.2.1快速排序
4.2.2归并排序
4.2.3计数排序
4.2.4动态排序
4.3数组的二分查找
4.3.1二分法
4.3.2过滤数组
4.4数组的复制
4.4.1复制数组的函数
4.4.2处理重复数据
4.5数组的比较
4.6数组与洗牌
4.7数组与生命游戏
习题4
第5章链表与list类
5.1链表的特点
5.2创建链表
5.3遍历链表
5.4查询与相等
5.5添加节点
5.6删除节点
5.7更新节点
5.8子链表
5.9链表的排序
5.10合并、倒置和交换链表
5.11编写简单的链表
习题5
第6章顺序表与vector类
6.1顺序表的特点
6.2顺序表的创建与常用函数
6.3顺序表与最长递增子数组
6.4顺序表与筛选法
6.5顺序表与全排列
6.6顺序表与组合
6.7顺序表与记录
习题6
第7章栈与stack类
7.1栈的特点
7.2栈的创建与独特函数
7.3栈与回文串
7.4栈与递归
7.5栈与括号匹配
7.6栈与深度优先搜索
7.7栈与后缀表达式
习题7
第8章队列与deque类
8.1队列的特点
8.2队列的创建与独特函数
8.3队列与回文串
8.4队列与加密解密
8.5队列与约瑟夫问题
8.6队列与广度搜索
8.7优先队列
8.8队列与排队
习题8
第9章二叉树与set类
9.1二叉树的基本概念
9.2遍历二叉树
9.3二叉树的存储
9.4平衡二叉树
9.5二叉查询树和平衡二叉查询树
9.6创建std::set平衡二叉查询树
9.7std::set树的基本操作
9.8std::set树与数据统计
9.9std::set树与过滤数据
9.10std::set树与节目单
习题9
第10章散列表与unordered_map类
10.1散列结构的特点
10.2简单的散列函数
10.3创建散列表
10.4散列表的基本操作
10.5遍历散列表
10.6散列表与字符、单词频率
10.7散列表与数据缓存
10.8重载hash()函数
10.9std::map类
习题10
第11章集合与unordered_set类
11.1集合的特点
11.2unordered_set类
11.3集合的基本操作
11.4集合与数据过滤
11.5集合与获得随机数
11.6重载hash()函数
习题11
第12章常用算法与algorithm库
12.1Lambda表达式
12.2动态遍历算法
12.3复制与替换算法
12.4排序算法
12.5查找算法
12.6删除与清零算法
12.7反转与旋转算法
12.8全排列算法
习题12
第13章图论
13.1无向图
13.2有向图
13.3网络
13.4图的存储
13.5图的遍历
13.6测试连通图
13.7最短路径
13.8最小生成树
习题13
第14章经典算法思想
14.1贪心算法
14.2动态规划
14.3回溯算法
习题14
附录A运算符重载、模板类和std::string
A.1重载关系运算符
A.2类模板的基础知识
A.3std::string类
参考文献
|
內容試閱:
|
党的二十大报告指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
数据结构和算法是计算机科学的核心领域,是计算机程序的基础。能否正确、恰当地使用数据结构和相应的算法决定了程序的性能和效率。“数据结构与算法”一直是计算机科学与技术、软件工程等专业的一门重要的必修课程。
本书面向有一定C 语言基础的读者,重点讲解重要的数据结构和相关算法以及重要的基础算法和经典算法思想。全书共14章,分别是数据结构概述、算法复杂度、递归算法、数组、链表与list类、顺序表与vector类、栈与stack类、队列与deque类、二叉树与set类、散列表与unordered_map类、集合与unordered_set类、常用算法与algorithm库、图论和经典算法思想。
本书具有以下主要特色。
1. 注重夯实基础
注重讲解每种数据结构的特点,并结合例子讲解如何正确使用相应的数据结构和算法,特别强调分析基础算法的特点,以便读者通透理解和正确使用这些基础算法。
2. 关注实用性
数据结构和算法与计算机科学紧密关联,常应用于解决现实中的问题。本书注重结合经典问题和实际问题,使读者在学习数据结构和算法后能加深对实际问题的理解,并提高解决实际问题的能力。
3. 强调培养能力
本书强调“数据结构与算法”课程的重要性和意义不仅仅在于学习数据结构和算法本身,而是应该同时注重训练、提高学习者的编程能力。书中精选了一些经典和实用性强的算法思想,并结合一些经典的问题体现这些算法思想的精髓,有利于帮助读者掌握如何设计和实现高效、优秀的算法。
4. 体现语言特色
本书特别注重体现C 语言的特色,除前3章外,各章的大部分代码都体现了C 的特色和C 在算法实现方面的优势。全书提供了丰富的例子和习题,例子中的全部代码都是用C 语言编写的完整代码。所有的例子都有详细的解释,都是可以运行的,同时也给出了运行效果图,这非常有利于读者理解代码、提高编程能力。
本书以中国美丽的二十四节气开始,以经典的八皇后问题结束。本书的全部示例由作者编写并在DEVC 环境下调试完成(需要支持C 11的编译器)。
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、在线作业和习题答案。
资源下载提示
课件等资源: 扫描封底的“图书资源”二维码,在公众号“书圈”下载。
素材(源码)等资源: 扫描目录上方的二维码下载。
在线自测题: 扫描封底的作业系统二维码,再扫描自测题二维码,可以在线做题及查看答案。
本书示例代码及相关内容仅供学习使用,不得以任何方式抄袭出版。
希望本书能对读者学习数据结构和算法有所帮助,并恳请读者批评指正。
编者
2025年1月
|
|