現在位置: 首頁 > 算法 > 文章
2020年02月17日 算法 ⁄ 共 2722字 暫無評論
  本文實例講述了PHP自定義函數實現格式化秒的方法。分享給大家供大家參考,具體如下:   function vtime($time) {   $output = '';   foreach (array(86400 => '天', 3600 => '小時', 60 => '分', 1 => '秒') as $key => $value) {   if ($time >= $key) $output .= floor($time/$key) . $value;   $time %= $key;   }   if($output==''){   $output=0;   }   return $output;   } ...
閱讀全文
2020年02月14日 算法 ⁄ 共 3595字 評論關閉
  桶排序是計數排序的升級版。它利用了函數的映射關系,高效與否的關鍵就在于這個映射函數的確定。為了使桶排序更加高效,我們需要做到這兩點:   在額外空間充足的情況下,盡量增大桶的數量。   使用的映射函數能夠將輸入的 N 個數據均勻的分配到 K 個桶中。   同時,對于桶中元素的排序,選擇何種比較排序算法對于性能的影響至關重要。   1. 什么時候最快   當輸入的數據可以均勻的分配到每一個桶中。   2. 什...
閱讀全文
2020年02月14日 算法 ⁄ 共 5368字 評論關閉
  基數排序是一種非比較型整數排序算法,其原理是將整數按位數切割成不同的數字,然后按每個位數分別比較。由于整數也可以表達字符串(比如名字或日期)和特定格式的浮點數,所以基數排序也不是只能使用于整數。   1. 基數排序 vs 計數排序 vs 桶排序   基數排序有兩種方法:   這三種排序算法都利用了桶的概念,但對桶的使用方法上有明顯差異:   基數排序:根據鍵值的每位數字來分配桶;   計數排序:每個桶只存儲單...
閱讀全文
2020年02月14日 算法 ⁄ 共 1167字 評論關閉
  用最簡單的方法,通俗易懂的方法計算結構體大小。   結構體計算要遵循字節對齊原則。   結構體默認的字節對齊一般滿足三個準則:   1) 結構體變量的首地址能夠被其最寬基本類型成員的大小所整除;   2) 結構體每個成員相對于結構體首地址的偏移量(offset)都是成員大小的整數倍,如有需要編譯器會在成員之間加上填充字節(internal adding);   3) 結構體的總大小為結構體最寬基本類型成員大小的整數倍,如有需要編譯...
閱讀全文
2020年02月14日 算法 ⁄ 共 4092字 評論關閉
  C 語言中整數與字符串的相互轉換,有廣泛應用的拓展函數(非標準庫),也可以自己嘗試簡單的實現。   整數轉字符串   1、拓展函數 itoa   itoa (表示 integer to alphanumeric)是把整型數轉換成字符串的一個函數。   windows 環境下,在 頭文件中有:   char* itoa(int value,char*string,int radix);//value: 要轉換的整數,string: 轉換后的字符串,radix: 轉換進制數,如2,8,10,16 進制等。   函數源碼:   ch...
閱讀全文
2020年02月14日 算法 ⁄ 共 4872字 評論關閉
  編程中經常用到時間表達及轉換的函數,它們都定義在 time.h 庫函數中,在此做一下總結,以方便后續查看使用。   幾個時間概念:   1:Coordinated Universal Time(UTC):   協調世界時,又稱世界標準時間,也即格林威治標準時間(Greenwich Mean Time,GMT),中國內地的時間與UTC得時差為+8,也即UTC+8,美國為UTC-5。   2:Calendar Time:   日歷時間,是用"從一個標準時間點到此時的時間經過的秒數"來表示的時間...
閱讀全文
2020年02月14日 算法 ⁄ 共 8116字 評論關閉
  最短路徑是圖論中一個很經典的問題:給定圖G(V,E),求一條從起點到終點的路徑,使得這條路徑上經過的所有邊的邊權之和最小。   對任意給出的圖G(V,E)和起點S、終點T,如何求從S到T的最短路徑。解決最短路徑問題的常用算法有Dijkstra算法、Bellman-Ford算法、SPEA算法和Floyd算法。   1.Dijkstra算法   Dijkstra算法(讀者可以將其讀作“迪杰斯特拉算法”)用來解決單源最短路問題,即給定圖G和起點s,通過算法得到S到達其...
閱讀全文
2020年02月13日 算法 ⁄ 共 5357字 評論關閉
  Java的volatile關鍵字用于標記一個變量“應當存儲在主存”。更確切地說,每次讀取volatile變量,都應該從主存讀取,而不是從CPU緩存讀取。每次寫入一個volatile變量,應該寫到主存中,而不是僅僅寫到CPU緩存。   實際上,從Java 5開始,volatile關鍵字除了保證volatile變量從主存讀寫外,還提供了更多的保障。我將在后面的章節中進行說明。   變量可見性問題   Java的volatile關鍵字能保證變量修改后,對各個線程是可見...
閱讀全文
2020年02月13日 算法 ⁄ 共 1415字 評論關閉
  1. 問題可分而治之且 BFS   首先, 問題必須是可分而治之的, 并在最后合并. 分而治之(遞歸)是為了窮舉, 合并是為了找最優.   Result r(costs[], target){   args = [];   for(cost in costs){   tmp = r(costs - cost, target - cost) + cost;   args += tmp;   }   return G(args);   }   雖然上面的代碼是 DFS, 但形式上是 BFS, 而且也應該寫成 BFS, 只不過 BFS 的代碼不簡潔而已.   思考: 與貪婪算...
閱讀全文
2020年02月12日 算法 ⁄ 共 1798字 評論關閉
  啟動終端模擬包或者從 Linux 控制臺登錄后,便可以看到 Shell 提示符。提示符是通往 Shell 的大門,是輸入 Shell 命令的地方。   對于普通用戶,Base shell 默認的提示符是美元符號$;對于超級用戶(root 用戶),Bash Shell 默認的提示符是井號#。該符號表示 Shell 等待輸入命令。   不同的 Linux 發行版使用的提示符格式不同。例如在 CentOS 中,默認的提示符格式為:   [[email protected] ~]$   這種格式包含了以...
閱讀全文
奔驰宝马破解版下载 四不像香港必中一肖 北京麻将攻略 信誉好的棋牌游戏 同城游美女捕鱼破解版 今日股市大盘行情走 填大坑棋牌规则 香港特选六肖六码 今日股票大盘行情 吉祥棋牌馆官方下载 捕鱼达人千炮版官方下载 江西南昌微乐麻将下载安装 体彩十一运夺金 欢乐捕鱼3 免费下载天津麻将 管家婆平特一肖 国投资本股票行情