算法学习
文章平均质量分 68
物换星移几度秋
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
计算机程序设计艺术习题解答(Excercise 1.2.3-30~34题)
计算机程序设计艺术习题解答(Excercise 1.2.3-30~34题)原创 2022-11-23 12:49:11 · 505 阅读 · 1 评论 -
计算机程序设计艺术习题解答(Excercise 1.2.2-28~30题)
对 Donald Knuth 的名著 计算机程序设计艺术 的重要习题进行详细的推导和解答原创 2022-09-05 14:50:59 · 443 阅读 · 0 评论 -
计算机程序设计艺术习题解答(Excercise 1.2.2-27题)- 求对数标准算法的有限精度误差估计
对 Donald Knuth 的名著 计算机程序设计艺术 的重要习题进行详细的推导和解答原创 2022-08-24 12:39:07 · 239 阅读 · 0 评论 -
计算机程序设计艺术习题解答(Excercise 1.2.2-25题)
计算机程序设计艺术一书中习题的详细解答,后续会慢慢更新系列文章原创 2022-08-17 13:49:31 · 529 阅读 · 0 评论 -
Effective Python 读书笔记 - 第26条:只在使用 Mix-in组件制作工具类时进行多重继承
Python是面向对象的编程语言,它提供了多重继承的代码复用机制。但是,我们应该尽量避免使用多重继承。如果一定要利用多重继承所带来的便利及封装性,那就考虑用它来编写mix-in类。mix-in是一种小型的类,它只定义了其他类可能需要提供的一套附加方法,而不定义自己的实例属性。此外,它也不要求使用者调用自己的__init__()构造器。由于Python程序可以方便地查看各类对象的当前状态,所...原创 2019-05-28 10:46:36 · 315 阅读 · 0 评论 -
算法导论 - 2.3-7 确定集合S中是否存在两个其和刚好为x的元素
描述一个运行时间为O(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素。这里给出两种算法,都要求先用归并排序算法(merge sort)把集合S中元素从小到大排好序,这一步运行时间为O(nlgn)第一种算法比较简单,即对集合S中每一个整数a,利用二分搜索法(Binary Search)在排好序的集合S中搜索(x - a)是否存在,如果存在...原创 2018-08-28 20:14:16 · 1491 阅读 · 0 评论 -
算法:墙上的门
墙上的门你面前是一堵朝两个方向无限延伸的墙。墙上有一扇门,但你不知道离你有多远,也不知道门位于哪个方向。你只有走到这扇门前才能看到它。假设从当前位置走到门前要走n步(事先并不知道n的大小),请设计一个算法,使你最多走O(n)步就能遇到门。([Par95])解法:首先,以当前位置为原点,门距离原点有n步(n未知),而且门位于哪个方向也不知道,所以不能只朝一个方向去找,万一选错方向就永远找...原创 2018-08-23 20:24:18 · 4368 阅读 · 1 评论 -
算法:带锁的门
带锁的门在走廊上有n个带锁的门,从1到n依次编号。最初所有的门都是关着的。我们从门前经过n次,每次都从1号门开始。在第i次经过时(i = 1,2,..., n)我们改变i的整数倍号锁的状态;如果门是关的,就打开它;如果门是打开的,就关上它。在最后一次经过后,哪些门是打开的,哪些门是关上的?有多少打开的门?解法:这道题需要统计从1到n每个数的因子个数(包括1和自身),每个数的因子个数决定...原创 2018-08-23 16:10:54 · 4810 阅读 · 0 评论 -
算法:更轻或者更重?
这是出现在Anany Levitin所著的《算法设计与分析基础》第三版习题2.2中的一道算法题:更轻或者更重?你有n (n > 2)个外观相似的硬币和一个没有砝码的天平。其中一枚为假币,但不知道它比真币重还是轻。设计一个O(1)的算法来确定假币比真币重还是轻。解法:题目只是要求确定假币比真币重还是轻,并不要求找出这枚假币,n的数量不确定(n>=3),在绝大多数情况下只需...原创 2018-08-23 15:12:44 · 1455 阅读 · 0 评论 -
反片语(Ananagrams, UVa 156)
输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。在判断是否满足条件时,字母不区分大小写,但在输出时应保留输入的大小写,按字典序进行排列(所有大写字母在小写字母的前面)。样例输入:ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Rides dealer...原创 2018-07-26 19:31:13 · 272 阅读 · 0 评论 -
安迪的第一个字典(Andy‘s First Dictionary,UVa10815)
输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出,单词不区分大小写。要点:利用stringstream的特点 将分离出的单词插入set<string>,set会对所有元素自动排序且保证唯一。#include<iostream>#include<string>#include<set>#include<...原创 2018-07-26 18:53:29 · 789 阅读 · 0 评论 -
木块问题(The Blocks Problem, UVa101)
从左到右有n个木块(编号为0~n-1),要求模拟以下4种操作(下面的a和b都是木块编号)。move a onto b:把a和b上方的木块全部归位,然后把a摞在b上面 move a over b:把a上方的木块全部归位,然后把a放在b所在木块堆的顶部 pile a onto b:把b上方的木块全部归位,然后把a及其上方的木块整体摞在b上面 pile a over b:把a及其上方的木块整体...原创 2018-07-26 18:23:14 · 872 阅读 · 1 评论 -
师兄帮帮忙 UVa 12412
原题很长,就此略过了https://vjudge.net/problem/UVA-12412#author=0这道题看似是一道简单的家庭作业题,其实非常容易出错,且调试时间很长。主要的难点在于:1. 增加学生成绩记录时调整好整个学生列表的排名Rank值,不用排序2. 删除学生成绩记录后需要调整学生排名3. 如何快速高效生成统计数据#include<stdio.h&g...原创 2018-07-26 13:31:43 · 385 阅读 · 0 评论 -
例题4-5 追踪电子表格中的单元格(Spreadsheet Tracking, ACM/ICPC World Finals 1997, UVa512
Data in spreadsheets are stored in cells, which are organized in rows (r) and columns (c). Some operations on spreadsheets can be applied to single cells (r, c), while others can be applied to entire ...原创 2018-07-25 10:53:19 · 648 阅读 · 0 评论
分享