聽說你最近在刷題- 軟體工程師的面試一定會遇到的資料結構及演算法關卡 (& 分享 LeetCode 折扣)& LeetCode Premium 抽獎啦(2021- 9 月更新)
-----------------------------
2021年 9 月更新:
從 8 月開始,收到許多剛到美國唸書的讀者來信請求幫忙內推 2022 年暑假的實習工作,如果你還不知道的話, 請查看我另外一篇文章來了解內推網路:最有效得到面試的方式- 內部推薦: 尋找內推資源 & 歹晚郎互助網絡 (2021 年 8 月更新)。軟體工程師的面試關卡很多都是資料結構及演算法, 所以大家在準備實習也都不免俗的要刷題一下。 我許久沒有看 LeetCode, 發現現在 LeetCode 的功能越來越多, 還有像是學習資源文章及 study plan 的功能,把大家要準備面試的各種需求都越來越在他們網站上一站搞定。 今天除了再次分享去年寫的文章(還有折扣碼), 還要大大感謝 LeetCode 願意提供 3 個 7 天 Premium 會員試用來給予讀者, 讓大家面試前可以使用如公司 tag 的功能來做複習。 此外感謝大家一直以來的支持, 我也自掏腰包提供購買 3 個 1 個月的 Premium 會員試用來加碼, 再請大家做以下動作參加抽獎歐!
✅ 按讚並留言你希望用 LeetCode 達到什麼目標 (轉職、實習面試、換工作,可以寫一寫細節像是目標公司、職位等), 或是你過去使用 LeetCode 的心得、或者是自己未來職業目標等等, 也可以是找朋友來一起練習。
✅ 公開分享此篇文章的話多一次被抽中的機會
獎項: 共 6 個名額,3 個 7 天 Premium 試用會隨機抽出, 3 個 1 個月的 Premium 試用則用留言內容來挑選, 希望抽出給很需要、或是很有創意的留言, 哈!
活動期間到加州時間下週四 9/9 晚上 9 點截止。會直接於文中留言通知中獎,祝大家學習愉快、找實習、換工作都順利!
--------------------------
2020 年 12 月原文:
歐, 要澄清一下我現在沒有在刷題 (我這樣講絕對不是怕很多同事會看到我的文章 XD), 說實在的, 我覺得大家好像太過度強調 “刷”題的刷, 好像刷油漆似的要來回刷很多遍。 我過往看過許多刷幾百題、每題做 2、3、4 次以上的人分享他們的經驗, 我很佩服他們投入的時間及毅力, 但我自知做不到, 有小孩後更是難以做到刷一遍。 我自己找軟體工程師的工作的經驗, 2015 年上完 Coding Bootcamp 到找到工作, 大概做了 60 題左右的 LeetCode 問題, 2016 年底找工作比較認真, 大概完成了 100 題左右。 今天這篇文章想要分享一下我的演算法準備方式, 如果你想要找如何刷題的方式,或是覺得無法刷幾百題很多遍的人, 歡迎往下閱讀。
2015 年上完 Coding Bootcamp 後, 我陸續有一些電話面試, 每天可能會有 1~3 個電話面試, 所以在準備面試上, 要研究公司, 並且依照職缺來做面試的複習, 因為我是面試前端相關的職缺, 所以也有一部分的精力在前端的資料複習。 關於資料結構及演算法 (Data Structures & Algorithms) 的練習,我大概維持一天練習 1-2 題的步調。 2016 年底的面試, 因為還要上班, 所以基本上只有晚上有時間, 可能一天只能練習 1 題, 假日有比較多時間才可以多做幾題。
看到問題的時候, 我會先確保我了解題目的意思, 真正在面試的時候, 通常第一步也是和面試官確認我們自我的理解和面試官要問的是否一致, 不要花了時間才發現一開始的理解及假設是錯誤的。 我通常會立刻寫下題目給予的 input 有什麼、格式是什麼, desired output 又是什麼。
確認好 input & output 後, 我會思考題目可以用什麼類型的資料結構或是演算法來解。 通常在面試的時候, 我會和面試官說明我可能會先就一個大概可行的方式來做解答, 如果他/她覺得沒有什麼問題的話, 我再做後續的優化。 在我開始有一些思路後, 我會先寫下 pseudo code, 就是先用英文來說明我的解法會是怎麼樣。 每個步驟和面試官確認都沒有問題後, 我才會正式寫 code 。
當然有些時候不論怎麼想都寫不出來, 如果是自己練習的時候,我大概在 15 分鐘後會開始看一些討論, 嘗試學習別人的思路, 但如果再花 10 分鐘還是解不出來的話, 才會參考別人的解法。 我看完別人的答案後, 還是會用自己的 code 再實現一次。 如果面試中卡住的話, 則是要儘快和面試官討論, 我會把我的理解, 可能的解法方式和面試官說, 同時也說明我的情況可能哪裏不是很確定, 讓面試官在適當的時候可以給予我提示。 一般來說, 公司都是希望有順利的面試經驗, 面試官也都願意在溝通正常下給予協助。
自己練習寫完之後, 我會再寫出解法的空間及時間複雜度 (Space & Time Complexity) , 通常面試也會詢問這個部分, 所以自己每個練習也要歸納一下。 如果我發現我的解法時間可能不是太好, 我會再嘗試看不同人的討論, 研究更優化的解法, 並再自己寫出不一樣的解法。 有些比較棘手的問題我可能會寫 2、3 個解法比較彼此的優缺點。
在之前準備面試的時候, 我有準備一本筆記本, 每次寫完問題之後, 我會用筆寫下我在哪一天寫了哪一個問題, 並且用很精簡的方式總結問題及解法。 隔天要做下一題之前, 我會先看一下前一天的問題, 嘗試回想我是否可以再次在頭腦中想出大致的解法。 如果還是不行的話, 再看我自己的總結並做上記號, 隔天會再做一次同樣的步驟,直到我可以順利複習出解題的邏輯思路。
如果有和公司面試, 不論是電話還是 onsite, 面試完後我會再檢查我遇到的題目是否和我過去做過的題目類似, 如果有的話, 是否我的思路在面試中是清晰及正確的, 如果沒有的話, 我是否有利用對的觀念來解答。 面試結束後, 會花時間在盤點及複習, 從面試中的題目和過往的練習做統整。
你可以看到我的練習方式不是很強調快, 因為我希望我做完問題可以有很深的理解, 所以花很多時間在做整理、複習確認, 即使當下沒有那麼理解, 隔天回想又想不出的話, 我會再複習一次, 再隔一天做新題前也會再確認。 複習及思考的次數多了,真正把題目所想要考的觀念融會貫通, 畢竟面試很難真的遇到原題, 重點是我們對於資料結構及演算法的理解, 及遇到難題如何面對的應對的思考過程。
條條大路通羅馬, 每個人面試準備的方式都不太一樣, 以上就是我的資料結構及演算法的準備方式, 之前寫找工作的系列文章好像沒有特別提這塊, 所以特別再寫出來分享。當然我不是大神每次面試都可以收割 5 到 10 個以上 offer, 所以就請你自己斟酌評估你的學習方法,畢竟我們都要找到對自己最能接受、且有效率的方式來準備面試 。
我從 2015 、2016 年準備面試的時候, 有許多練習演算法的網站, 但到了今日, 好像 LeetCode 和練習演算法關係就如同 Google 和搜尋一樣, 大部分我聽到的準備面試的人都用 LeetCode 來做練習了! 剛好最近認識一位在 LeetCode 工作的朋友牽線, LeetCode 特別優惠讀者, 只要使用這個連結購買 Premium, 就能有 15% 優惠 (幾乎和一年一度的感恩節特價差不多了!)。
我目前聽到朋友準備面試基本上都會購買 LeetCode 的 Premium, Premium 最大的好處就是可以看到問題和公司的標註, 拿過去拒絕我 2 次的 Google 為例 (XD), LeetCode 就有 925 道題目被大家回報有在 Google 面試中看到 (2021 年已經變成 1014 道了! @@), 當你正要 phone or onsite interview 的時候, 可以聚焦你要面試的公司練習、提高效率的話還是可以提高面試的表現的。 Premium 還有答題評斷比較快、LeetCode 官方解答、及依據公司有 Mock interviews 等其他功能, 但主要大家好像都還是為了 company tag 的功能而付費, (2021 年 9 月更新, 最近又有如文章、影片的學習資源,還有像是 Study Plan 的功能, 看起來 LeetCode 要往大家學習、準備、一站式的服務來黏住使用者了!)
相信以大家拿到 offer 後的加薪, 會覺得這是個很好的投資!(什麼, 你說不一定會加薪, 那請你再閱讀一下我的談判文章來和公司談判加薪 "面試中談到錢怎麼辦? 問到你期望薪水如何接招?" 及"面試得到 Offer 薪水如何談? 三明治溝通法及最後簽約前的談判招式") 。
我當初有想說要直播訪問在 LeetCode 的朋友, 探討 LeetCode 最近幾年的快速發展、及如何幫助軟體工程師及公司行號, 可惜目前朋友還沒有意願, 如果大家有興趣的話, 請在文章留言, 讓她可以看到大家的意願加強她的動力和我們分享 (群眾多數暴力啊!)。
附上過去我寫的找工作系列文章:
1. 程式語言- 到底學哪個好?我想進Google,我沒學OOO,他們會接受我XXX語言背景嘛?
2. 簡介美國軟體工程師面試流程
3. 等待機緣- 我要如何被人資或獵人頭發現? 我要如何脫穎而出? LinkedIn重要嘛?
4. 主動出擊- 我要找工作了,現在美國都用什麼找工作?哪個網站平台能讓我有較多面試機會?
5. 軟體工程師面試準備- 面試要練習什麼? 找工作和練習的時間要如何平衡拿捏?
6. 被錄取了- 我該注意什麼,我可以談判要求多一點薪水、股票或假期嘛?
7. 矽谷找工作之常見問題 FAQ
8. 面試技巧及心得,如何有條理的說服面試官?
9. 英文履歷怎麼寫? 美國科技公司注重什麼?
10. 如何到美國科技公司工作?
11. 最有效得到面試的方式- 內部推薦: 尋找內推資源 & 歹晚郎互助網絡
12. 面試中談到錢怎麼辦? 問到你期望薪水如何接招?
13. 面試得到 Offer 薪水如何談? 三明治溝通法及最後簽約前的談判招式
2021 年, 如果你要找工作的話, 祝你轉換順利, 拿到許多理想的 offers! 如果你有什麼準備的技巧及心得, 也歡迎留言分享。
部落格原文:
https://bit.ly/3zNrluU
同時也有31部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,AUTOCAD2012入門與證照班第3次上課 部落文: http://terry55wu.blogspot.com/2012/04/autocad20123-httpsgroups.html 完整影音: https://groups.google.com/group/autocad2012?hl...
「時間複雜度練習題」的推薦目錄:
- 關於時間複雜度練習題 在 半路出家軟體工程師在矽谷 Facebook 的精選貼文
- 關於時間複雜度練習題 在 91 敏捷開發之路 Facebook 的精選貼文
- 關於時間複雜度練習題 在 王可樂日語 Facebook 的最佳貼文
- 關於時間複雜度練習題 在 吳老師教學部落格 Youtube 的最佳解答
- 關於時間複雜度練習題 在 吳老師教學部落格 Youtube 的最佳解答
- 關於時間複雜度練習題 在 吳老師教學部落格 Youtube 的最佳解答
- 關於時間複雜度練習題 在 [問題] 請教有關時間複雜度的考題- 看板Prob_Solve 的評價
- 關於時間複雜度練習題 在 Algorithm and Time Complexity (補充3-時間複雜度相關議題 ... 的評價
- 關於時間複雜度練習題 在 軟體工程師的面試一定會遇到的資料結構及演算法關卡(& 分享 ... 的評價
- 關於時間複雜度練習題 在 這題的時間複雜度怎麼算啊? - 研究所板 - Dcard 的評價
時間複雜度練習題 在 91 敏捷開發之路 Facebook 的精選貼文
是的,2020年五月,也就是一年前的 #TDD與持續重構 梯次,今天還有同學會在上面問問題,而我也樂於分享一下我的看法一起交流。
從他的發問例子,pull member up 加上 namespace 的 Money, 讓我想到他正在用 Ct 練習 Kent Beck 的 TDD by Examples part 1 的 Money Example.
所以順便分享了一下我覺得不要錯過的重點(美的地方)。
至於那個 builder 的視角,並不是書裡面寫的,而是我會想從 Expression 往下延伸嘗試的設計視角,這樣可以簡單的把一堆 計算 的內容跟組合封裝起來。
試過一次,覺得蠻有趣的,但畢竟不是真實產品等級,我的領域知識也還不足,不知道那樣的 builder 概念在該領域會不會碰到什麼不合適的使用場景就是了。
多嘗試,多從自己的輸出取得回饋,才能真的學到書本內想帶出來的知識點。
—
何況我還有 Kent Beck 可以請教 ❤️
補上在學員群組分享的片段:
—
好的抽象概念(隱喻)真的是可遇不可求,需要大量練習,如果大家有仔細看書的話,Kent Beck 也是在正式做這個例子十多遍以上,才領略到這個設計的角度。
這也是為什麼 一個足夠複雜 概念夠多的題目或需求,值得我們反覆練習
https://tdd.best/courses/classic-tdd-by-example-video-training/
我在這個影音課希望可以達到的效果也是如此,因為我自己一個語言做了十多遍(我目前有準備三個語言的版本 Java, C#, Python),很多遍的設計角度都不一樣。
有一些在前面幾次直覺不可行的,在後面幾次的岔路時,我就決定走走看。
大部分直覺都是對的,但也有幾次走出很不一樣的路。
如果「只練一次」,是沒機會走出那麼多不同的設計角度的。
同樣的,如果寫程式太慢,或是取得回饋的週期過長,你能嘗試的設計方案就會跟著變少,能學到的東西變少,同時要追求「剛好且簡單」的解決方案,機率就會變低。
大家可以想想,如果是自己在做 Money Example, 在真實世界有時間壓力底下,可能這輩子都不可能想出這樣簡單的設計方案。
如果都只在真實工作才學習、練習,那技能就會一直停滯。
永遠都只能用那種直白、procedure式、脆弱的流程設計角度,因為只會這種方式,自然自己最快的完成方式 就只會有這種副作用、複雜度最大的設計方式。
所以要多練 讓自己有多種視角,TDD 也是一種先從使用端來設計的視角,所以易用性的設計角度,物件的互動角度才能在這種視角被凸顯出來。
時間複雜度練習題 在 王可樂日語 Facebook 的最佳貼文
「我的學習三原則:頭皮要硬!臉皮要厚!嘴皮要勤!」
-
減法學習第三式-「檢」視成效,光學不用,該怎麼知道學習成效呢?
樂暢日語推出『全新主題口說嘗鮮課程』,從日常生活最容易面臨到的挑戰為主題,用大量情境實境演練,教你如何套用基礎句型說出一口的漂亮日語,讓你不怕碰到不懂就卡關!
看看上過樂暢日語的同學怎麼說:
-
我是Pinky,雖然已經通過N1,但未來想帶家人到日本旅遊或是帶日本朋友在台灣觀光,所以非常需要口說練習。
-
當初因為看了日劇「電車男」後而開始喜歡上日語,一剛開始的初學階段需要記大量的單詞,這對我來說很困難,所以我把日文當作興趣培養,從看日劇、漫畫、日文小說,或是聽聽日文歌來學習日文。
-
才接觸日語三個月時,我其實只會說單字片語,還沒辦法說出完整的語句,但正所謂初生之犢不畏虎,我自告奮勇報名了學校非日語組的演講比賽,原本以為只要死背文章就可以了,但真正到演講比賽那一刻,我才知道日語口說跟英語口說的文法複雜度實在是差太多了。
-
後來因緣際會接觸可樂老師的講座課程,每次課程內容都超乎我的期待,所以當我在社團看到樂暢日語的介紹,我就滿心期待,相信樂暢日語也一樣能讓我完成帶家人到日本旅遊的願望!
-
樂暢日語課程主題是交通共三堂課,在上課前30分鐘才拿的到教材,所以沒有太多時間能夠預習,但也因為這樣更能了解自己的日語即時反應和實際口說能力。課程中用到的都是很簡單的句型,雖然以前都有學過,但是口說久沒練習就真的會說不出口…不過日籍老師非常用心,會帶你慢慢讀、糾正錯誤的地方,學到的句型也可以套用在不同情境。
-
大家應該都知道東京地鐵的站名是漢字,雖然看字都知道,但實際要唸又是另外一回事,上課中遇到不會唸的,只要先聽老師唸過,再跟著唸就能順利學會,上完課我也可以用日文指路了。課程令我最印象深刻的一點是我曾跟老師提到:因為新冠肺炎現在無法到日本,但是如果疫情減緩,我希望能到長野買「八幡屋礒五郎的七味粉」,沒想到老師居然記得,還特別在最後一堂課準備了「如何去長野八幡屋礒五郎的店買七味粉的觀光路線圖」,真的很用心讓我很感動。
-
跟著日籍老師學習口說讓我學到正確的發音,句子也可以說得比剛開始時還要完整了!
【口說嘗鮮課程】
主題:旅遊指南
購買課程,即可享加購優惠價100元(限量20名)
詳細資訊>>https://wenk.in/cola00qrYX
#樂暢日語口說嘗鮮課程
#加購口說嘗鮮課程最低只要100元
#全館88折活動倒數12小時
時間複雜度練習題 在 吳老師教學部落格 Youtube 的最佳解答
AUTOCAD2012入門與證照班第3次上課
部落文:
http://terry55wu.blogspot.com/2012/04/autocad20123-httpsgroups.html
完整影音:
https://groups.google.com/group/autocad2012?hl=zh-TW
今天主要學習一些新的功能,比較CAD2010與2010最大的不能應該是陣列的用法吧!
矩形陣列變的好複雜,因為CAD2012的設計環境是以 3D為基礎, 2D只是一小部分,
雖然看起來還是可以像之前 2D環境一樣,但複雜度提高不少,
但若是不理會高階功能只用 2D倒也還好。
此外,畫弧部分沒有太大差別,只是同學在這部分很容易做錯,需要反覆練習才行。
一直強調繪圖沒有標準答案,一種圖至少有超過十種畫法,
要如何畫得又快又好,又正確就是最好的畫法,這需要時間去思考。
複習一下CAD環境設置後就直接來講範例題,利用範例題繪圖來學習CAD2012似乎快速,
一下子同學都可以很上跟上進度,回家還可以影音複習,學不會是不可能的。
從實例中再來說明功能名稱與伊些理論,這樣就更具體了,
不再有學一堆理論而不會用的問題存在,只要把基本題畫完,
這樣要銜接證照題應該比較不成問題。
本學期直接使用AUTOCAD2012當成上課版本,除了跟上時代潮流,也兼顧舊版。
入門之後會繼續教證照考試的題目當成範例題,自己可以選擇要不要考證照,
但至少是個好的目標,上課速度會加快,但會給蠻多影音輔助,所以請大家好好準備。
01_範例9(建構線)
02_範例10(三切圓與環形陣列)
03_範例11(偏移與修剪)
04_範例11(畫弧技巧)
05_範例12(追蹤技巧與環形陣列)
06_範例13(計算機與複製)
07_範例13(路徑陣列)
08_範例14(比例_參考)
09_範例15(極座標&畫弧)
10_範例16(複製與兩點畫圓)
11_範例17(等分與點形式)
吳老師教學部落格:
http://terry55wu.blogspot.com/
論壇:
https://groups.google.com/group/autocad2012?hl=zh-TW
AutoCAD,2012,2D,入門使用技巧,TQC,TQC+,TQC PLUS,電腦證照,勞工大學,AutoCAD WS,免費線上影音,吳清輝老師
時間複雜度練習題 在 吳老師教學部落格 Youtube 的最佳解答
AUTOCAD2012入門與證照班第3次上課
部落文:
http://terry55wu.blogspot.com/2012/04/autocad20123-httpsgroups.html
完整影音:
https://groups.google.com/group/autocad2012?hl=zh-TW
今天主要學習一些新的功能,比較CAD2010與2010最大的不能應該是陣列的用法吧!
矩形陣列變的好複雜,因為CAD2012的設計環境是以 3D為基礎, 2D只是一小部分,
雖然看起來還是可以像之前 2D環境一樣,但複雜度提高不少,
但若是不理會高階功能只用 2D倒也還好。
此外,畫弧部分沒有太大差別,只是同學在這部分很容易做錯,需要反覆練習才行。
一直強調繪圖沒有標準答案,一種圖至少有超過十種畫法,
要如何畫得又快又好,又正確就是最好的畫法,這需要時間去思考。
複習一下CAD環境設置後就直接來講範例題,利用範例題繪圖來學習CAD2012似乎快速,
一下子同學都可以很上跟上進度,回家還可以影音複習,學不會是不可能的。
從實例中再來說明功能名稱與伊些理論,這樣就更具體了,
不再有學一堆理論而不會用的問題存在,只要把基本題畫完,
這樣要銜接證照題應該比較不成問題。
本學期直接使用AUTOCAD2012當成上課版本,除了跟上時代潮流,也兼顧舊版。
入門之後會繼續教證照考試的題目當成範例題,自己可以選擇要不要考證照,
但至少是個好的目標,上課速度會加快,但會給蠻多影音輔助,所以請大家好好準備。
01_範例9(建構線)
02_範例10(三切圓與環形陣列)
03_範例11(偏移與修剪)
04_範例11(畫弧技巧)
05_範例12(追蹤技巧與環形陣列)
06_範例13(計算機與複製)
07_範例13(路徑陣列)
08_範例14(比例_參考)
09_範例15(極座標&畫弧)
10_範例16(複製與兩點畫圓)
11_範例17(等分與點形式)
吳老師教學部落格:
http://terry55wu.blogspot.com/
論壇:
https://groups.google.com/group/autocad2012?hl=zh-TW
AutoCAD,2012,2D,入門使用技巧,TQC,TQC+,TQC PLUS,電腦證照,勞工大學,AutoCAD WS,免費線上影音,吳清輝老師
時間複雜度練習題 在 吳老師教學部落格 Youtube 的最佳解答
AUTOCAD2012入門與證照班第3次上課
部落文:
http://terry55wu.blogspot.com/2012/04/autocad20123-httpsgroups.html
完整影音:
https://groups.google.com/group/autocad2012?hl=zh-TW
今天主要學習一些新的功能,比較CAD2010與2010最大的不能應該是陣列的用法吧!
矩形陣列變的好複雜,因為CAD2012的設計環境是以 3D為基礎, 2D只是一小部分,
雖然看起來還是可以像之前 2D環境一樣,但複雜度提高不少,
但若是不理會高階功能只用 2D倒也還好。
此外,畫弧部分沒有太大差別,只是同學在這部分很容易做錯,需要反覆練習才行。
一直強調繪圖沒有標準答案,一種圖至少有超過十種畫法,
要如何畫得又快又好,又正確就是最好的畫法,這需要時間去思考。
複習一下CAD環境設置後就直接來講範例題,利用範例題繪圖來學習CAD2012似乎快速,
一下子同學都可以很上跟上進度,回家還可以影音複習,學不會是不可能的。
從實例中再來說明功能名稱與伊些理論,這樣就更具體了,
不再有學一堆理論而不會用的問題存在,只要把基本題畫完,
這樣要銜接證照題應該比較不成問題。
本學期直接使用AUTOCAD2012當成上課版本,除了跟上時代潮流,也兼顧舊版。
入門之後會繼續教證照考試的題目當成範例題,自己可以選擇要不要考證照,
但至少是個好的目標,上課速度會加快,但會給蠻多影音輔助,所以請大家好好準備。
01_範例9(建構線)
02_範例10(三切圓與環形陣列)
03_範例11(偏移與修剪)
04_範例11(畫弧技巧)
05_範例12(追蹤技巧與環形陣列)
06_範例13(計算機與複製)
07_範例13(路徑陣列)
08_範例14(比例_參考)
09_範例15(極座標&畫弧)
10_範例16(複製與兩點畫圓)
11_範例17(等分與點形式)
吳老師教學部落格:
http://terry55wu.blogspot.com/
論壇:
https://groups.google.com/group/autocad2012?hl=zh-TW
AutoCAD,2012,2D,入門使用技巧,TQC,TQC+,TQC PLUS,電腦證照,勞工大學,AutoCAD WS,免費線上影音,吳清輝老師
時間複雜度練習題 在 Algorithm and Time Complexity (補充3-時間複雜度相關議題 ... 的美食出口停車場
杰哥數位教室-資料結構課程第1章: 補充3- 時間複雜度 相關議題、常用的數學式子完整課程請 ... ... <看更多>
時間複雜度練習題 在 軟體工程師的面試一定會遇到的資料結構及演算法關卡(& 分享 ... 的美食出口停車場
聽說你最近在刷題- 軟體工程師的面試一定會遇到的資料結構及演算法關卡(& ... 自己練習寫完之後, 我會再寫出解法的空間及時間複雜度(Space & Time ... ... <看更多>
時間複雜度練習題 在 [問題] 請教有關時間複雜度的考題- 看板Prob_Solve 的美食出口停車場
不知道這邊可不可以請教考試的題目
https://wwwc.moex.gov.tw/ExamQuesFiles/Question/102/102050_13560.pdf
原題在上面
題目節錄如下:
Q:下列敘述哪兩個是錯誤
A.0.5n^2+100n=O(n^2)
B.1000=O(1)
C.0.5n+5logn=O(n^2)
D.2n^2+5^n=O(2^n)
E.n^7+1.5^n=O(n^7)
F.3n^2+n(logn)^4=O( n(logn)^4 ) F我這樣打應該是對的吧
------------------------------------------------------------
以下是我個人的想法
A跟B沒有疑問是對的
C的話應該是在玩定義問題 應該是O(n) 但他寫O(n^2)不能說"錯"?
D的話我就不大懂了 對5^n取log得到 nlog5 對2^n取log得到nlog2
兩者只差常數所以兩者成長速度是一樣的? 演算法課本都不知道丟掉幾年了
如果根本我在胡言亂語請見諒...麻煩請教D的解釋
E應該也沒疑問O(1.5^n)
F的話我也是用取log的方式判斷 對3n^2取log得到log3+2logn
對n(logn)^4取log得到 logn+4log(logn) 所以n(logn)^4成長較快? 所以F是對的?
F也麻煩各位了
根據國考版 當年的給分似乎給得亂七八糟 所以也不管他到底要選幾項錯誤
就單純討論各選項到底對或錯就好
麻煩各位了~感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.88.60
問人之後懂了 F當n趨近無窮大後會趨近0
同理D可想成lim_{x→∞} 2^x/5^x=lim_{x→∞} (2/5)^x 所以趨近0 因此D是O(5^n)
所以結論 DEF都是錯的
感謝你的抽空回答
※ 編輯: Sunofgod 來自: 218.164.88.60 (11/28 23:57)
... <看更多>