溫故而知新篇

2021-08-03 23:56:05 字數 578 閱讀 4595

2023年7/21日

問題(1)

今天想到中興演算法大賽的乙個問題,鏈結在此:[(賽題主要針對尋找最優路徑,本人採用迪傑斯特拉演算法來做的,但是針對尋找最優路徑時,迪傑斯特拉演算法其實是有漏洞的,它採用類似貪心演算法的意思,每次都通過比較下乙個可達節點之間的權值大小來決定下一步的路徑,正常情況下,採用這樣的演算法是可以尋找出最優路徑,但是,在尋找的過程中,一旦出現路徑權值相等的情況,其實問題也就出現了,基礎的迪傑斯特拉演算法其實並沒有對此問題進行處理,所以,最終計算出來的結果並一定是我們想要的結果。

想法(1)

今天我提出的一種想法是分開儲存路徑,複製list集合中儲存的路徑,然後將另一點儲存進去,接著分別計算下乙個節點,一旦發現乙個list裡面路徑尋找的下乙個節點的權值小於另乙個list,那麼就可以放棄大權值的list,而只需要計算小權值的list,這樣最終才能得到最優路徑。

問題(2)

針對聊天專案中的多執行緒問題,伺服器端採用為每乙個客戶端開闢分配乙個執行緒來處理客戶端的請求,後期面對高併發的客戶端請求,伺服器將會達到極限而奔潰,這樣的方式存在著明顯的缺陷

想法(2)

溫故而知新

堆排 建立堆,維護堆的屬性 一次拿掉乙個,然後維護屬性,二分的結構 使得維護屬性只要logn的時間 冒泡也是一次拿走乙個 但是線性的結構 每次沒有節省時間 快排 一次確定 乙個值的位置,然後二分,縮小問題的範圍。floyd找最短 一次更新 將狀態改為經過固定點的 最短距離 迴圈 遍歷每個點,則結果為...

溫故而知新(一)

一 c 基礎語法 1.注釋符 b.解釋所寫的 2.vs中常用的快捷鍵 3.變數 用來在計算機中儲存資料 b.要給儲存空間起乙個有意義的名字,方便我們以後的使用 b.變數型別 變數名 值 4.命名規則 5.號的使用 6.佔位符的使用 先挖坑,再填坑 異常 exception 在程式執行的過程中,由於某...

C 陣列 溫故而知新

using system using system.collections.generic using system.linq using system.text namespace 陣列 陣列初始化器只能在宣告陣列變數時使用,不能在宣告陣列之後使用 int iii new int 用花括號初始化陣...