有時候懂太多也不好,太優秀,優秀到格外耀眼且喧囂。
——蘇小木。
這點小要求,譚凌斷沒有拒絕的道理,對這個短時間就刷了三次全校通告的小學弟,他還是很欣賞的。
“也行,我先把整個程序的算法設計給你調出來,總綱你得看一眼,數據結構的算法部分有特別的標記,直接定位就行。”
“整個程序的算法設計比較龐大,底層用的是C++,數據與數據結構這一塊用的是Java和Python,你都懂的吧?”
譚凌一邊彎腰在工作臺上操作著,一邊絮絮叨叨的介紹。
直起身的時候,工作臺的顯示器屏幕上多了很多內容。
一旁的蘇小木一邊點頭,一邊靦腆的說道,“C++和Python還行,Java差一點,那,我先看看?”
見譚凌點頭讓開身位,蘇小木就坐到了工作臺前。
課題本身就比較松散,反正大家也不忙這會,幾個腦袋零零散散的擠了過來。
對這個張可教授這么多年來收的唯一一個本科生,除了學院的知情人士好奇以外,他們也很好奇其實。
張可抱著保溫杯在一旁笑瞇瞇的看著,也不說話,許是又想起了自己曾經也是這么青澀,這么優秀,這么……
想著想著,突然想到了自己瘋狂后退的發際線,猛地喝了一大口當歸枸杞水。
還是要注意保養啊。
…………
整個程序從算法設計總綱很清晰的列了出來,數據結構檢索算法的選擇也揭開了面紗。
蘇小木左手托著下巴,右手不時滾動鼠標,面露思考。
實話實說,除了自己寫過的,他是第一次見過這么優雅的代碼。
張可教授不愧是學校里面最嚴苛也最幽默的教授,挑選的學生分外優秀,在課題中不吝于精益求精。
總綱有部分算法的設計對蘇小木來說稍微有點超綱,他的眉頭不由自主的蹙了起來。
在UVA已經AC到1300多道題的經驗發揮了作用,右手無意識的撥弄了一小會,緊皺的眉頭展開。
如此這般,大約二十分鐘后,蘇小木靦腆一笑,道。
“數據結構的這個檢索算法,我覺得好像是可以這么來……
二叉樹的遍歷方法分很多種,就跟我們上什么大學、選什么專業一樣,選擇不同,遍歷的方法就不同,所以,我們是不是可以這樣……”
噼里啪啦,修長的手指在鍵盤上揮舞著光芒。
“別!動!我的老天鵝!你可千萬別亂動!”
譚凌猛地推了推眼鏡,連忙制止道。
“小學弟,這學長可就得說你了,咱們在課題上的代碼雖然都是有備份的,但一般不建議擅自修改……balabala~”
噠~噠噠~噠噠噠。
鍵盤敲擊的韻律、balabala的絮叨聲奏響起一會兒急一會兒緩的樂曲。
“啊,以后我一定記得提前說,不過學長,你看這樣的話,雖然還是有不同的選擇,但在檢索上好像更方便了一點點……”
在譚凌巴拉巴拉的時候,蘇小木沒有停下手上的動作,這個時候敲下最后一個‘;’,比了個一小小的手勢,聲音蒟蒻的說道。
譚凌頓時一愣,然后一臉懵逼。
這就改好了?
算法不用先想一想設計一下的嗎?
鍵盤就這么聽你話的嗎?
還有,你……
臥槽?
這樣也可以?
“呃,小學弟,你說,你是過來砸場子的吧其實!”
片刻,譚凌直突突的說道。
程序數據結構部分的算法設計之前就是他譚凌親自操刀的。
蘇小木靦腆一笑,“沒有沒有,只是湊巧懂一點點數據結構,以及跟算法的關系。”
呵呵~
呵呵呵~
呵呵呵呵~
湊巧、懂一點點……
我俏麗嗎?我問你,我俏麗嗎?
譚凌身后數個學長的眼睛中的每一條血絲、每一點浮腫,都在說這句話。
“哇,小木學弟,你怎么這么厲害。”
驚呼聲從蘇小木的右側響起,轉頭就看到合法蘿莉林唐雙手合攏,眼睛眨呀眨的往外冒星星。
要不是知道她皮,蘇小木差點就信了。
“那個,林學姐,你知不知道李時珍其實沒死?”蘇小木突然挑了挑眉。
林唐:“???”
怎、怎么個意思?
這個人的眉毛怎么感覺有點……
林唐還在想蘇小木的話是什么意思的時候,蘇小木已經投入到下一段代碼的修改中去了。
…………
…………
接下來的大半個小時里,蘇小木針對性的挑出一段代碼,進行局部優化。
自從小垃圾系統給出數據結構這部分的知識資料以來,蘇小木還沒有系統性的運用過這部分知識。
哪怕在騷客APP的開發上,都只是簡單運用——因為…
用不上。
“數據排序有很多種方式,這部分我們可以這樣來……”
蘇小木一邊說著,一邊修改了代碼,那雙修長的手上像是揮舞著璀璨的風兒,甚是耀眼。
數據的結構并不是一成不變的,至少,對蘇小木來說,是這樣的。
他可以劃船不用槳,他可以揚帆沒有方向,只要他敲鍵盤的速度足夠快,就能追上他說話的速度……
至于另外的模塊,蘇小木不會去班門弄斧,有些地方都超綱了,別說去優化,連理解都費了點功夫……
端著保溫杯不時喝口當歸枸杞水的張可教授摩挲著下巴,心中暗道。
“這羊城太大了點,打聽點消息都這么難!這小子,我非得看看他到底有多少東西!”
說起來也有意思,如果沒有小垃圾系統之后給的數據與元數據與存儲結構基礎原理,蘇小木還真不一定能這么從容。
數據也會有臟數據這個東西的存在,臟數據的產生通常不受控制,并且是絕對無效的,還會占據空間,甚至會影響正常數據。
精心選擇的數據結構,可以有效的減少臟數據的產生。①
并且,對數據結構的檢索算法以及索引的精心優化,可以讓數據的運行效率更高,也可以讓數據存儲的效率更高。
讓數據本身不那么的臃腫。
這也是張可教授希望優化的部分,這樣可以有效的節約存儲資源,讓計算進行得更快。
其實真的很難想象,數據也可以看上去這么優雅。
當蘇小木敲下最后一個‘;’后,結束了全部的操作。
林唐輕咬著下嘴唇,雙手合攏在胸前拍著,“小木學弟,你怎么可以這么厲害!嚶嚶嚶!”
蘇小木:“……”
我可不可以申請腦闊不要轉?
這個小學姐真是太調皮了!
真想一拳一個嚶嚶怪。
emmmm。
“理論上講,現在的數據結構應該大約可以讓數據儲存效率提高百分之二十,運行效率提高百分之十五。”
末了,蘇小木總結道。
譚凌和張可皆點了點頭。
“小學弟,看不出來嘛,你這水平上本二有點屈才,得跟咱們學校建議修夠足夠的學分,就可以讓優秀的學生申請跳級。”
譚凌笑瞇瞇的說道。
蘇小木連忙起身擺著手,很誠實的說道。“您太捧了,我要學的還有很多,就這個程序好多地方的算法設計我、就、看不懂……”
看著幾雙越來越不對勁的眼睛,蘇小木搔著頭蒟蒻的說完了話。
…………
…………
之后,譚凌上前主持程序,幾個學長包括調皮的林學姐也各自進入了角色。
實話實說,蘇小木對整個程序的設計部分都只懂個百分之八九十,他再翹尾巴,也不會這么沒有逼數的去主持程序。
譚凌他們的動作很快,沒幾分鐘,16個計算節點便開始重新工作。
程序返回了各種各樣的參數。
良久,譚凌收回看向顯示屏幕的目光,嘆了口氣,道。
“教授,數據的儲存效率確實如小學弟說的那樣,高了百分之二十五不止,運行效率也高了百分之二十,但還是那個問題,根據現有的反饋結果,只能勉強上32個計算節點……”
老大難的問題擺在了跟前:
存儲資源就這么多,只有兩條路,申請更多的存儲資源,申請廠商進行針對優化,以同樣的存儲資源進行更大量的運算。
瓶頸其實不是存儲空間,而是存儲的性能、處理效率、壓力等。
如果是存儲空間,張可教授早就想辦法了。
這么說吧,同樣的存儲空間,不同的存儲矩陣配置,性能可以相差到20倍、100倍甚至好幾百倍。
這里面涉及到很多的參數。
比如硬盤的轉速、硬盤空間大小、數量、規格、存儲機頭的處理器、內存等方面性能、存儲系統的相應效率、IOPS、吞吐量等。②
硬盤有不同的大小容量和轉速,轉的速度越快,數據的讀寫效率就越高,雖然是同等存儲空間,但用4T的7200轉硬盤和用14塊300GB總共4T空間的15000轉固態硬盤,效率是絕對天上與地下。
這一點,蘇小木也幫不上忙,盡管他其實孟浪的考慮過寫一個程序放存儲上,幫助存儲讓數據更快寫入硬盤,讓存儲的硬件資源發揮到極致……
①:這個我真是隨便說的,臟數據這個概念解釋太復雜了,只要有數據,基本上就有可能存在臟數據。
②:IOPS:即每秒鐘數據進行讀和寫(I/O)操作的次數,換句話說,大概相當于我們日常進行文件復制與粘貼的時候,顯示幾十M一秒這樣子。
======
破碗。求推薦票、筆芯。
今天一更,但是有3000多字。