作  者:徐子珊著出版社:人民邮电出版社ISBN:9787115228376出版时间:2010-06-01版  次:1页  数:409装  帧:平装开  本:16开国内算法界著名学者、计算理论学组组长朱洪教授推荐。
  本算法教材文笔顺畅,处理算法描述的两难问题有自己的特点,且具有丰富的C、C++和Java实现程序,这对读者学以致用很有帮助。
《算法设计、分析与实现从入门到精通:C、C++和Java》还有一个特点,文采甚好,如集腋成裘、化整为零、赢得舞伴等,生动形象,易于学习和理解。
《算法设计、分析与实现从入门到精通:C、C++和Java》插图也精美,如Hanoi塔图等,都给《算法设计、分析与实现从入门到精通:C、C++和Java》增色很多,让读者在兴趣中学习。
此书在应用性例题上,兼有中、英文描述题目,如环法自行车赛、牛牛玩牌、射雕英雄等例题。
这些例题来自ACM/ICPC,它们富有挑战性,可引起读者的学习兴趣。
  38个经典范例,包括渐增型算法、分治算法、动态规划算法、贪婪算法、回溯算法、线性规划算法和计算几何等算法设计和实现技巧。
  26个国际大学生程序设计竞赛真题的详细解析及算法的应用。
  3种主流语言(C、C++和Java)实现算法范例程序。
内容简介  《算法设计、分析与实现从入门到精通:C、C++和Java》第1章~第6章按算法设计技巧分成渐增型算法、分治算法、动态规划算法、贪婪算法、回溯算法和图的搜索算法。
每章针对一些经典问题给出解决问题的算法,并分析算法的时间复杂度。
这样对于初学者来说,按照算法的设计方法划分,算法思想的阐述比较集中,有利于快速入门理解算法的精髓所在。
一旦具备了算法设计的基本方法,按应用领域划分专题深入学习,读者可以结合已学的方法综合起来解决比较复杂的问题。
《算法设计、分析与实现从入门到精通:C、C++和Java》第7章的线性规划和第8章的计算几何是综合算法部分,通过学习这些内容,读者将进一步地学习更前沿的随机算法、近似算法和并行算法等现代算法设计方法和实战技巧。
  《算法设计、分析与实现从入门到精通:C、C++和Java》特色是按照算法之间逻辑关系编排学习顺序,并对每一个经典算法,都给出了完整的C/C++/Java三种主流编程语言的实现程序,是一本既能让读者清晰、轻松地理解算法思想,又能让读者编程实现算法的实用书籍。
建议读者对照《算法设计、分析与实现从入门到精通:C、C++和Java》在计算机上自己创建项目、文件,进行录入、调试程序等操作,从中体会算法思想的精髓,体验编程成功带来的乐趣。
目录第1章集腋成裘——渐增型算法11.1算法设计与分析11.2插入排序算法41.2.1算法描述与分析41.2.2程序实现61.2.3应用——赢得舞伴301.3两个有序序列的合并算法321.3.1算法描述与分析321.3.2程序实现341.4序列的划分451.4.1算法描述与分析451.4.2程序实现461.5小结52第2章化整为零——分治算法532.1Hanoi塔问题与递归算法532.1.1算法的描述与分析532.1.2程序实现562.1.3应用——新Hanoi塔游戏592.2归并排序算法622.2.1算法描述与分析622.2.2程序实现632.2.3应用——让舞伴更开心692.3快速排序算法702.3.1算法描述与分析702.3.2程序实现722.4堆的实现792.4.1堆的概念及其创建792.4.2程序实现832.5堆排序882.5.1算法描述与分析882.5.2程序实现892.6基于二叉堆的优先队列942.6.1算法描述与分析942.6.2程序实现952.7关于排序算法1052.7.1比较型排序算法的时间复杂度1052.7.2C/C++/Java提供的排序函数(方法)1072.7.3应用——环法自行车赛1082.8小结109第3章记表备查——动态规划算法1113.1矩阵链乘法1123.1.1算法描述与分析1123.1.2程序实现1153.1.3应用——牛牛玩牌1213.2最长公共子序列1233.2.1算法描述与分析1233.2.2程序实现1263.2.3算法的应用1323.30-1背包问题1363.3.1算法描述与分析1363.3.2程序实现1383.3.3算法的应用1423.4带权有向图中任意两点间的最短路径1443.4.1算法描述与分析1
2023/9/13 5:28:44 41.66MB 算法设计 C C++和JAVA
1
随着旅游行业的不断发展,各家旅游行业之间的竞争日益激烈,旅游部门所需的信息量越来越大,业务操作中涉及的各种旅游相关资源情况、客户情况以及旅游协作部门的情况越来越复杂多变。
本设计是根据旅游行业的这种现状,采用现代化统一的计算机网络系统,实现了旅游管理的网络化,各类信息有序地进行存储。
本系统是一套基于B/S软件体系结构的旅游业信息化服务平台(TourismInformationServicePlatform)系统。
系统包括对旅行社、导游证、景区、星级饭店、旅游餐饮场所、旅游购物场所、演艺娱乐场所、旅游客运等信息的管理。
系统采用eclipse作为开发工具,应用SSH三大框架,bootstrap,ECharts等技术,MySQL作为后台数据库管理工具。
系统的应用将增强旅游者的旅游体验满足感与最大化旅游产业价值的功能。
2023/9/9 21:08:31 26.87MB JavaWeb SSH bootstrap echarts
1
Redis是一款开源的、高性能的键-值存储(key-valuestore)。
它常被称作是一款数据结构服务器(datastructureserver)。
Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和有序集合(sortedsets)等数据类型。
对于这些数据类型,你可以执行原子操作。
例如:对字符串进行附加操作(append);
递增哈希中的值;
向列表中增加元素;
计算集合的交集、并集与差集等。
2023/9/6 10:54:48 1.97MB 缓存 Redis
1
数据结构查找实验报告1、在顺序表中查找某个数据,若查找成功输出其位置及查找次数,若查找失败输出失败信息。
2、在有n个元素的有序顺序表上进行二分查找。
(1)建立有n个元素的有序顺序表,数据元素为整型。
(2)在该顺序表上用二分法查找某个数据,若查找成功输出其位置及查找次数,若查找失败输出失败信息、比较次数和应插入的位置
2023/9/1 10:29:32 48KB 查找
1
客户业务分为两种,第一种是申请从银行得到一笔资金,即取款或者借款。
第二种是向银行投入一笔资金,即存款或者还款。
VoidAction()银行有两个服务窗口,相应的有两个队列。
客户到达银行后先排第一个队。
queueq1;处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立即排入第二个队queueq2;等候,直至满足时才离开银行;
否则业务处理完后立即离开银行。
每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列中的客户,对能满足的申请者予以满足,不能满足的者重新排到第二个队列的队尾。
注意:在此检查过程中,一旦银行的资金总额少于或者等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列客户。
任何时刻都只开一个窗口。
假设检查不需要时间。
营业时间结束时所有客户立即离开银行。
【基本要求】利用动态存储结构实现模拟。
【测试数据】一天营业开始时银行拥有的款额为10000(元)初始化total=10000;,营业时间为600(分钟)。
设定营业时间为早上9:00-晚上19:00其他模拟参量自定,注意测定两种极端的情况:一是两个到达事件之间的间隔时间很短,而客户的交易时间很长,另一个恰好相反,设置两个到达事件的间隔时间很长,而客户的交易时间很短。
这个有点焦虑【实现提示】事件有两类:到达银行的和离开银行。
初始时银行现存资金总额为total。
开始营业后的第一个事件是客户到达,设定一个计数器count来计算一天内客户人数,初始化为0营业时间从0到closetime。
到达事件发生时随机地设置此客户的交易时间和距下一到达事件之间的时间间隔。
每一个客户要办理的款额也是随机确定的,用负值和正值分别表示第一类和第二类业务。
个人觉得用0、1、2、3分别表示取款、借款、存款、还款比较好。
变量total,closetime以及上述两个随机量的上下界均交互地从终端读入,作为模拟参数。
两个队列和一个事件表均要用动态存储结构实现。
需考虑设置离开事件,以及如何设计第二个队列的存储结构以获得较高的效率。
注意:事件表是按时间顺序有序的。
voidgetTime();
2023/8/14 4:07:50 5KB C++
1
Algorithm_Note:bookmark_tabs:目录:white_medium_star:Leetcode刷题笔记已解决译文列表:ID译文语言题解链接1个两数之和C++7整体反转Java9回文数Java13罗马数字转数字Java14最高公共预算Java20有效的括号Java21合并两个有序链表Java26删除排序中的重复项Java27可拆卸元素Java35搜索插入位置Java38报数Java50战俘(x,n)Python38报数Java53最大子序和Java54顺时针打印矩阵Python58最后一个单词的长度Java66加一Java67二进制求和Java69x的平方根Java70爬楼梯Java79单词搜索Python83删除排序链表中的重复元素Java88合并两个有序时序Java100相同的树Java101对称二叉树Java102二叉树的层次遍历Python105根据前序和中序重建二叉
2023/7/31 23:55:37 142.27MB algorithm leetcode AlgorithmC++
1
《PHP+MySQL网站开发全程实例》,于荷云编著,清华大学出版社,2012.10月,书本配套源代码。
《PHP+MySQL网站开发全程实例》以全程实例教学为设计目标,内容丰富,图文并茂,对每一个知识点都进行了详细深入的讲解。
从网站开发环境的配置及PHP的基本语法规范入手,由浅入深,循序渐进地介绍了PHP+MySQL开发技术在实际网站开发过程中的运用,并针对动态网站开发的关键功能模块,一步步引导读者掌握PHP应用开发技术的核心知识结构。
全书共分10章,在内容编排上独具匠心,各章节的知识点相互独立又前后贯穿有序。
每章的实例均符合所讲解的知识点,实现了理论与实践相结合,对读者在学习过程中整理思路、构思创意会有所帮助
2023/7/29 5:50:23 1.37MB PHP MySQL
1
为了能高效的,有计划设计超市销售管理系统。
本报告的主要作用是确定各个项目模块的设计情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发.减少设计中的不必要损失.主要具体步骤:拟订项目设计计划书,分配项目工作,安排项目进度
1
LSprite手机游戏动画编辑器有效的将程序和美工、策划的工作有序地分离开,美工、策划侧重于用编辑器拼接图片编辑动画,而程序完全不必关心这个过程,只需要得到编辑器生成BIN文件,也无需关心动画的运行机制,只需直接调用相关的方法即可实现动画等效果。
说明:本软件为免费软件,你可以自由使用或传播。
软件中有些图标是呈灰色状态,表示此功能不能使用,使用编辑器现有的功能已足够普通的学习或者一般的游戏开发
2023/6/28 15:17:44 2.71MB Sprite 手机游戏 动画 编辑器
1
原子音乐包这是的极其约莫的音乐播放器插件。
惟独按Alt-M就可启动。
而后,使用右侧的“OpenMusicFiles按钮加载音频文件,而后在编码时在那里播放喜爱的音乐。
编码欢喜!已经知的下场从1.0.2版本更新到2.0.0版本后,播放列表损失。
缺陷革除了假如击键不起传染,请使用Ctrl-。
查验您的按键绑定并依据如下阐发举行操作::假如更新此软件包后Atom挂起,请稍等片刻,而后重新启动Atom。
API召唤成果默许按键atom-music:toggle切换全部音乐播放器。
Alt-Matom-music:play-pause在播放以及停息之间切换之后曲目。
atom-music:toggle-shuffle在随机播放以及有序播放列表之间切换。
atom-music:search-playlist弹出播放列表搜查(自1.xx版本末了)。
atom-music:show-playlist与上述相同,但自版本1.xx起已经弃用并删除了。
atom-music:forward快进(从1.xx版末了,默许情景下每一次默许15
2023/5/2 12:25:24 138KB atom music player AtomJavaScript
1
共 79 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡