原创 在系統中找到重複文件

描述 給定一個目錄信息列表(包含目錄路徑),以及該目錄中包含內容的所有文件,你需要根據路徑查找文件系統中所有重複文件組。 一組重複文件包含至少兩個具有相同內容的文件。 輸入信息列表中的單個目錄信息字符串具有如下格式: "root/d1/d

原创 Unity 畫出一條從屏幕UI座標,未檢測到物體,和檢測到物體的射線

transform.position:爲UI中心點位置 ray: 主相機出發發射一條ui座標指向的射線 ray.GetPoint(80): 獲取射線長度爲80的中心點 可以用於槍類遊戲 public void CreateRay

原创 Unity 文件夾目錄結構

Resources: 需要動態加載的文件放入,打包時,在這個文件夾裏的文件不管有沒有被使用,都會被打包出來。 Plugins: 插件目錄,該目錄編譯時會優先編譯,以便項目中調用。 Editor: 該目錄下的代碼可調用Unity Edito

原创 Laya HTMLDivelement 組件發佈成微信小遊戲報錯 gameThirdScriptError undefined undefined

官方提供了HTMLDivelement組件在微信小遊戲使用的方案,需要開發者在game.js裏單獨的引入xml解析文件 文件地址:https://ask.layabox.com/file/download/file_name-anMue

原创 初識 Box2D世界

       本文你可以初步認識下這個強大的物理引擎,你將會學到創建一個簡單的Box2D應用基本流程,瞭解b2World物理世界,這個世界力的基本作用 --- 重力,以及如何開啓Box2D調試試圖。 1.1 什麼是Box2D引擎    

原创 深度和廣度優先搜索算法:如何找出社交網絡中的三度好友關係?

上一篇我講到了圖的表示方法,講到如何用有向圖、無向圖來表示一個社交網絡。在社交網絡中,有一個六度分割理論,具體是說,你與世界上的另一個人間隔的關係不會超過六度,也就是說平均只需要六步就可以聯繫到任何兩個互不相識的人。 一個用戶的一度連接用

原创 堆和堆排序:爲什麼說堆排序沒有快速排序快

“堆(Heap)” 是一種特殊的數。堆這種數據結構的應用場景非常多,最經典的莫過於堆排序了。堆排序是一種原地的、時間複雜度爲 O(nlogn) 的排序算法。 快速排序,平均情況下,它的時間複雜度爲 O(nlogn)。儘管這兩種排序算法的時

原创 二叉樹基礎(下):二叉查找數,有了如此高效的散列表,爲什麼還需要二叉樹?

上一篇我們學習了樹、二叉樹以及二叉樹的遍歷,今天我們再來學習一種特殊的的二叉樹,二叉查找樹。二叉查找樹最大的特點就是,支持動態數據集合的快速插入、刪除、查找操作。 我們之前說過,散列表也是支持這些操作的,並且散列表的這些操作比二叉查找樹更

原创 堆的應用:如何快速獲取到Top 10最熱門的搜索關鍵詞?

假設現在我們有一個包含 10 億個搜索關鍵詞的日誌文件,如何能快速獲取到熱門榜 Top 10 的搜索關鍵詞呢? 這個問題就可以用堆來解決,這也是堆這種數據結構一個非常典型的應用。今天我們就來講一講,堆這種數據結構幾個非常重要的應用:優先級

原创 二叉樹基礎(上):什麼樣的二叉樹適合用數組來存儲?

前面我們講的都是線性表結構,棧、隊列等等。今天我們講一種非線性表結構,樹。樹這種數據結構比線性表的數據結構要複雜得多,內容也比較多,所以我會分四節來講解。 二叉樹有哪幾種存儲方式?什麼樣的二叉樹適合用數組來存儲? 樹(Tree) 我們首

原创 圖的表示:如何存儲微博、微信等社交網絡中的好友關係

在微博中,兩個人可以相互關注,在微信中,兩個可以相互加好友。那麼微博微信是如何存儲這些好友關係呢? 這就要用到數據結構:圖。實際上,涉及圖的算法有很多,也非常雜,比如圖的搜索、最短路徑、最小生成樹、二分圖等等。 如何理解"圖"? 前面我講

原创 跳錶:爲什麼Redis一定要用跳錶來實現有序集合

上兩節我們講了二分查找算法。當時我講到,因爲二分查找底層依賴的是數組隨機訪問的特性,所以只能用數組來實現。如果數據存儲在鏈表中,就真的沒法用二分查找算法了嗎? 實際上,我們只需要對鏈表稍加改造,就可以支持類似“二分”的查找算法。我們把改造

原创 散列表(下):爲什麼散列表和鏈表經常會一起使用?

LRU 緩存淘汰算法 在鏈表那一篇中,我提到,藉助散列表,我們可以把 LRU 緩存淘汰算法的時間複雜度降低爲 O(1)。現在,我們就來看看它是如何做到的。 首先,我們來回顧一下當時我們是如何通過鏈表實現 LRU 緩存淘汰算法的。 我們需要

原创 散列表(上):word文檔中的單詞拼寫檢查功能是如何實現的?

Word 這種文本編輯器你平時應該經常用吧,那你有沒有留意過它的拼寫檢查功能呢?一旦我們在 Word 裏輸入一個錯誤的英文單詞,它就會用標紅的方式提示“拼寫錯誤”。Word 的這個單詞拼寫檢查功能,雖然很小但卻非常實用。你有沒有想過,這個

原创 複雜度分析(下):淺析最好、最壞、平均、均攤時間複雜度

上一篇: 複雜度分析(上):如何分析、統計算法的執行效率和資源消耗?,我們講了複雜度的大 O 表示法和幾個分析技巧,還舉了一些常見複雜度分析的例子,比如 O(1)、O(logn)、O(n)、O(nlogn) 複雜度分析。掌握了這些內容,對