Algorithms implementation using C
1.0.0
算法在計算機科學中非常重要。最佳選擇的算法確保計算機將盡可能地執行給定的任務。如果效率很重要,則真正使用適當的算法至關重要。算法對於根據可用資源優化計算機程序很重要。 。
最終,當任何人決定通過更好的算法解決問題時,就需要搜索程序速度和最少的內存消耗量的最佳組合。
蠻力算法強調以最直接的方式解決問題。這意味著使用基本技術來解決問題。簡而言之,這些是最簡單的算法。由於該算法在生成結果中的速度相對較慢,因此速度的簡單成本相對較慢。最好的方法是將其與那些具有較小輸入尺寸的問題一起使用。
這種方法的基本思想是基於劃分問題大小的程序。在每個循環中,以恆定因素的各個部分切斷了問題,然後以相同的方式進一步處理。這是一種快速算法。
如果您要搜索一種有效的快速算法,則在這裡動態編程。在此算法中,所有重點都集中在執行速度上,即使它花費了內存空間。簡單地說,在這個方法的時空中,犧牲了時間。在此算法中,執行速度大大降低。該方法對於解決存在重疊子問題的問題特別有用。
貪婪算法是基於步驟的算法。在貪婪的算法中,我們在每個步驟中分析問題。然後,將最佳的本地可能的最佳解決方案用於此特定步驟,然後將過程重複到所有步驟。它將導致全球最佳解決方案。
氣泡排序的時間複雜性 - O(n)和選擇排序的時間複雜性為-O(n2)
一般算法的時間複雜性為O(n^3),而Strassen的算法為O(n^2.80)。