普林斯顿算法课下-assignment3

这次真的是拖了好久才把那周课和作业写完,前后四天!
这次讲了两个东西,第一个是maxflow-mincut,第二个是 radix sort,其实就是string sort。
先讲下最大流吧。
还是有权图中的一个问题。怎么切,可以得到的capacity最小。
然后为了解决这个问题,给每条边加上另外一个成员,flow,flow <= capacity.
然后设计出了一个 Fordxxxxx的算法。可以找出什么时候 flow最大。然后证明,在这个时刻,和源点s以某种规则联系在一块的点的集合,就是mincut.
所以我觉得是先有了mincut这个问题,然后设计出maxflow的模型来解决这个问题。
我觉得里面比较绕的就是 residualFlow这样的东西。但是自己仔细想了之后差不多也可以理解了。
剩余的意义在于,还剩多少flow可以从这个源点发出去。
第二是string sort。
首先讲了定长字符串排序的一种方法,LST.
之所以会这么快,是使用了一种key-indexed counting方法。
这个方法之所以这么快,是因为在排序中,他并没有不断地比较。而是自然而然生成了一个由小到大的序列。
其实字符串的确不需要比较啊。他的大小已经是规定好了的,每个字符都有自己规定好的位置。所以直接把他们放在应该在的地方,然后记录他们重复出现的次数,最后还原就可以了。
那么不定长字符串怎么排序呢?
就有了MST。从右边开始,然后使用 recursive的思想。根据首字母分成不同的集合,再分别依次再次使用key-indexed counting,直到结束。
但是这样子开销太大了。
于是将MST于quicksort相结合,形成了一个新的算法叫做, 3-way radix quicksort.
我觉得更像是 quicksort。
然后讲了suffix array。也就是 获得子字符串 这样的方法有什么用。其实还是很有用的。
我是这么理解的。
加入你现在用的是浏览器, CTRL+F是搜索功能。然后你搜索什么他可以快速帮你找到。他是怎么找的呢?难道就是简单地不断地把你输入的字符串和网页内容比对?那太慢了,而且搜索时间什么的完全由你的输入决定,网页做不了什么提前准备的工作来降低搜索时间。于是,可以假设网页文本内容在一个大string里面,suffix 这个string。
比如
string a = "helloworldhello"
h e l l o w o r l d h e l l o
e l l o w o r l d h e l l o
l l o w o r l d h e l l o
l o w o r l d h e l l o
o w o r l d h e l l o
w o r l d h e l l o
o r l d h e l l o
r l d h e l l o
l d h e l l o
d h e l l o
h e l l o
e l l o
l l o
l o
o
然后使用我刚刚说的 3-way sort 或者 MST排序。

d
e l l o
e l l o w o r l d
h e l l o
h e l l o w o r l d h e l l o
l d h e l l o
l l o
l l o w o r l d h e l l o
l o
l o w o r l d h e l l o
o
o r l d h e l l o
o w o r l d h e l l o
r l d h e l l o
w o r l d h e l l o

可以看到经过排序之后,这个string里面含有的信息会被自动归类,按字母排序。重复的首单词会集中在一块。
然后如果这就是一个网页里面的内容,我在该网页搜索, lowor
他就会首先使用二分查找法,binary seach,先找到l首字母。再在里面继续根据第二个字母使用binary search。直到最后找到需要的东西。

当然我这里说的是一个比较简单的模型。也是我自己理解的。现实情况应该会更加复杂。但基本原理应该相近。服务器会先把网页内容处理下,让搜索操作耗时更少。

然后说下这次作业。
这次作业最大的难点,时间复杂度和空间度复杂度好像都没有了。所以代码可以随便写,只要能实现要求就可以了。
我觉得得搞清楚如何使用maxflow-mincut模型来解决这个问题。之前看人给的提示,说是,当右边全满时,如果左边的有未全满的,那么就一定eliminated的了。我也是照着这个写的。后来发现这样子是不全面的。
我的思路是,遍历左边的每条边,某条边没满时,查找到这条边to结点对应的那场比赛的双方,在右侧对应的两条边,看下这两条边是否已经满了。如果没满,那就一定eliminated的了。
如果右侧有边直接capacity < 0,那就直接退出这个方法了。这是我之前没想到的。我以为其他的仍然也需要验证,然后放进subset。但这里显然进行了简单处理。
另外,我觉得处理输入的字符串,构造多个数组,这一块儿,我并没能一次通过,因为有好多情况没考虑到。然后不断地换新的输入,不断地改进自己的constructor才搞好。是不是有一些模板式的处理方法我不知道?或者说有一些string类函数可以直接调用?但是中间可能有三个空格,两个空格,一个空格。结尾处可能是空格,也可能单纯的就是数字。我就是用一个头指针一个尾指针不停地扫描出来的。所以经常出错。
Anyway, 又熬过了一次作业。。

前段时间也不是自己不要好。说下情况吧。
一般十一点起,然后玩下手机,十一点半起床。
一般得搞点中饭吃吃,一般懒得做就吃两个荷包岛(结果就是四点开始就很恶了)。
然后一般一点半这样开始看书。两点半这样进入状态。
然后三点二十这样又得开始考虑给女朋友打电话。一打一般就是大半个小时。之后就是四点。
然后讲完话后,人的状态没了。而且写代码这个东西,真的不能中途停!一停,之前的那些东西全忘了。所以人也很烦躁。然后,又开始饿了。
效率极低的磨到六点,开始准备晚饭。吃完出去散个步。回来九点,又困了。
然后睡到零点。起床又觉得看不动算法了。
每天都这样,很痛苦。所以打算和妹子说清楚,以后通电话的时间可能得改变了。否则我实在是应付不了目前的情况了。
当然,前段时间自己也有些飘飘然。现在好了。觉得自己踩在大地上了。
不管怎么样,都要前行。
女朋友很努力。不管怎么样,一起前行。

马上打算先吃两个荷包蛋。。。
然后洗个澡。
然后把学校考试的课件都整理下。打算先复习A1吧。这个比较熟悉。
签证的事,晚上睡觉前查一下。也要开始考虑了。

Good luck, Richardo!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • sì 支zhī茶chá 对duì 酒jiǔ,赋fù 对duì 诗shī,燕yàn子zi 对duì 莺yīng 儿é...
    每个人的孟母堂阅读 1,194评论 0 6
  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 1,950评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 早上跟家里视频,老爹说阿江回来了。阿江,我一个曾经的朋友。一个几乎被我遗忘的人,被这个世界抛弃的人,再次让我回到那...
    倔强的小萝卜0阅读 490评论 0 1
  • 感赏女儿下午提醒我不要再购买韩货,萨徳系统让女儿愤愤不平,家国情怀,政治抱负酿造了我家小愤青,大刀阔斧地分析了一...
    利利lili阅读 188评论 0 5