Ⅰ 請問,怎麼有步驟地學好數據結構與演算法java語言這門專業
1. "我想學好基礎的數據結構和演算法! "
不多說,有這心就往下看。
2. "我應該准備些什麼? "
a. 這本橙書: 《演算法 第四版》
--亞馬遜中文版: amazon.cn 的頁面
--線上資源: Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne
b. 注冊Coursera, 依次加入這2門課: <演算法, 第一部分> <演算法, 第二部分>
Part 1: https://www.coursera.org/course/algs4partI
Part 2: https://class.coursera.org/algs4partII-006
如果沒開課, 就先標記, 這樣開課時會通過郵箱提示你.
3. "我應該做些什麼? "
先熟讀書內1.1和1.2, 最好把課後習題都做一做. 網站上開課後(即使已經開課幾周了, 沒關系), 跟住上課內容: 課本知識 + 視頻內容 + 課件重點+ Exercises (獨立完成且滿分) + Programming Assignments (獨立完成且盡量滿分) + Job Interview Questions. 從Part 1到Part 2, 跟住, 跟住, 跟住!
關於做書後練習題,參見:
演算法 第四版(algorithms 4th edition ) 這本書有配套的習題答案嗎? - 孟祥豐的回答
4. "我學完了呢!"
再去跟隔壁斯坦福的演算法公開課, 他還給證書! 因為參考書籍基本上就是是《CLRS》, 所以也就是強迫自己去仔細研讀演算法導論.
---課程名稱:
<演算法設計與分析, 第一部分>
<演算法設計與分析, 第二部分>
---課程地址
Part 1: https://www.coursera.org/course/algo
Part 2: https://www.coursera.org/course/algo2
Ⅱ 這幾個Java網站,有點刺激
一、LearnJava在線
這是一個非常不錯的學習Java的在線網站,純免費。這是一個個人項目,旨在通過簡單有效的在瀏覽器中進行練習讓你快速掌握Java編程語言。通過直接從網路瀏覽器運行實際代碼,你無需在本地安裝和執行代碼就可以嘗試編碼,這無疑提高了編程效率和上手效率。
你可以根據目錄進行練習,有基礎部分和高級部分,首先有例子代碼,告訴你需要注意的事項以及詳細的講解,旨在把你教會後再讓你進行練習。
二、StackOverflow
說到學習Java,怎麼能不提StackOverflow呢?StackOverflow是一個與程序相關的T技術問答網站。用戶可以在網站免費提交問題,瀏覽問題,索引相關內容,在創建主頁的時候使用簡單的HTML。在問題頁面,不會彈出任何廣告,銷售信息,JavaScript窗口等。
干凈清爽,基本上所有的問題你在StackOverflow都能找到答案,你可以提出公共問題,也可以提出私人問題,甚至可以在StackOverflow上找工作。
三、DZone
DZone上會有T前沿的新聞和文章,會有Al、大數據、雲、資料庫、DevOps、loT、Java還有開源項目關干Java新特性的介紹,新特性的使用都會在上面,是你掌握前沿動態不可或缺的網站。
四、LeetCode
LeetCode是一個很牛逼的刷題網站,它的重要性不用我多說7吧裡麵包括大量的演算法題,這些演算法題是大廠面試必出的題型,據說掌握了這些演算法題後,你可以吊打中國任何一家大廠,是不是真的咱也不知道,畢竟咱們沒做過幾道題。
問題可以區分難易程度,有解決措施,接受度,困難程度等,還有大廠公司的面試題因為LeetCode太牛逼了,LeetCode推出7中文版,中文為力扣幾平和英文版的一模一樣,如果小夥伴英文不手首是很好可以看看中文版。
五、Java官方文檔
學習Java,還有什麼比官網更權威的呢?我之前一直不知道官網能做的這么干凈,你來看一下包含各種內容,總欖,編程語言,工具,特性,JM等,只不過語言有一些生硬,需要強大的英文功底,不過現在有谷歌翻譯後我覺得這些問題也都不是問題。
六、Coursera
Coursera是一個在線課程網站,是為大廠量身定做的,就和國內很多在線教育機構類似,不過真實性如何不能確保,畢竟身邊沒有小夥伴抱過課程。Coursera是大型公開在線課程項目,由美國斯坦福大學兩名計算機科學教授創辦。旨在同世界頂尖大學合作,在線提供網路公開課程,它與全世界最頂尖的大學和機構合作,提供任何人可學習的在線課程。
七、Java World
Java World是一個純Java學習網站,它裡麵包括很多Java文章,它不同干DZone的領域那麼多,Java World只緩衫專注干Java,哦對了,還有安卓,是你提高視野,學習Java新特性畢哪數不可或缺的網站。
八、Java程序猿圈
Java World是一個純Java學習網站,它裡麵包括很多Java文章,它不同干DZone的領域那麼多,Java World只專注干Java,哦對了,還有安卓,是你提高視野,學習Java新特性不可或缺的網站。
Ⅲ 演算法工程師可以自學嗎
演算法工程師確實可以自學,但需要付出巨大努力。這項工作要求極高的數學素養和邏輯思維能力。學習者需掌握高等數學、線性代數、離散數學、數據結構及計算機組成原理等知識。建議有計算機、電子通信或數學等相關專業背景的人士更容易上手。
自學演算法工程師的關鍵在於系統化學習。首先,可以從理解基本數學概念開始,如集合、函數和極限等。接著,學習高等數學中的微積分和線性代數,掌握向量、矩陣和特徵值的概念。離散數學則涉及邏輯、集合論和圖論等內容,對於演算法設計至關重要。
數據結構是計算機科學的核心,學習棧、隊列、鏈表、樹、圖等數據結構的原理和實現方式。此外,計算機組成原理幫助理解硬體層面的知識,這對於優化演算法具有重要意義。
自學過程中,需要通過大量編程練習來鞏固理論知識。可以選擇Python、C++等編程語言,編寫代碼實現演算法。同時,可以利用在線課程、視頻教程和編程平台進行學習,如Coursera、edX、LeetCode等。
自學演算法工程師需要時間和耐心,建議設定明確的學習目標,堅持每天學習,逐步提高自己的技能水平。加入技術社區,與其他學習者交流經驗,共同進步。