12.8_黑馬數據結構與算法筆記Java

目錄

044 遞歸 e04 冒泡排序2

044 遞歸 e05 插入排序1

044 遞歸 e05 插入排序2

045 多路遞歸 斐波那契

046 多路遞歸 斐波那契 時間復雜度

047 多路遞歸 斐波那契 兔子問題

048 多路遞歸 斐波那契 青蛙跳臺階

049 遞歸 優化 記憶法

050 遞歸 爆棧問題

051 遞歸 尾調用與尾遞歸

052 遞歸 尾遞歸避免爆棧

053 遞歸 主定理求時間復雜度 1

054 遞歸 主定理求時間復雜度 2

055 遞歸 展開求時間復雜度 1

056 遞歸 展開求時間復雜度 2

057 多路遞歸 e02 漢諾塔1

057?多路遞歸 e02 漢諾塔2

057?多路遞歸 e03 楊輝三角1

thinking:Java Arrays.fill()?

thinking:減號,左對齊?


044 遞歸 e04 冒泡排序2

當排序到一定程度的時候,就不再需要排序了,因為有的本身就已經排好序了。減少排序的次數。

沒有發生交換,意味著有序。有發生交換,意味著無序。在每一輪的排序中,i充當無序與有序的界限。每一輪結束后,x被授予i的職責,充當這一輪無序與有序的界限。于是,下一次的遞歸,就只要排x左邊的元素了。

044 遞歸 e05 插入排序1

當要插入的元素是整個數組中最小的那個,就會出現以下的情況。因此,要設置當i小于0的時候就要退出循環。

?

044 遞歸 e05 插入排序2

當要找的元素就是low的時候,就不用這么麻煩了。因此,優化代碼。

045 多路遞歸 斐波那契

?

046 多路遞歸 斐波那契 時間復雜度

多少個圓圈,就代表調用了多少次。

047 多路遞歸 斐波那契 兔子問題

048 多路遞歸 斐波那契 青蛙跳臺階

049 遞歸 優化 記憶法

重復計算的值非常多,想要簡便運算,就設置數組,儲存已經算過的數值。當以后還需要用到這些數值的時候,就不用再計算了,直接從數組中尋找即可。

用空間換取時間。

?

050 遞歸 爆棧問題

當傳入的數據量特別大的情況下,就會爆棧

051 遞歸 尾調用與尾遞歸

052 遞歸 尾遞歸避免爆棧

?Scala可以通過尾遞歸的方式使它不要爆棧

@tailrec注解可以幫助我們檢查我們的寫法是否符合尾遞歸的寫法。

根本解決方案:?

053 遞歸 主定理求時間復雜度 1

找出abc,然后套公式即可以。?

054 遞歸 主定理求時間復雜度 2

?

?

055 遞歸 展開求時間復雜度 1

?

056 遞歸 展開求時間復雜度 2

開掛網址

057 多路遞歸 e02 漢諾塔1

?

?

057?多路遞歸 e02 漢諾塔2

?

因為第一次和第二次傳進去的柱子是不一樣的。所以第一次的c.addLast(a.removeLast())和第二次的是不一樣的。

?

057?多路遞歸 e03 楊輝三角1

?

?

thinking:Java Arrays.fill()?

Java Arrays.fill() 方法詳解-CSDN博客?

thinking:減號,左對齊?

但這個例子是在C中的。

C語言中字符對齊問題_打印多行字符串時如何中心對齊c-CSDN博客?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208527.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208527.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208527.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux驅動開發一

一、Linux驅動開發與裸機開發的區別 1、開發思維區別 裸機驅動: (1)底層,跟寄存器打交道,有些MCU提供了庫 Linux驅動: (1)Linux下驅動開發直接操作寄存器不現實 (2…

【MATLAB源碼-第97期】基于matlab的能量谷優化算法(EVO)機器人柵格路徑規劃,輸出做短路徑圖和適應度曲線。

操作環境: MATLAB 2022a 1、算法描述 能量谷優化算法(Energy Valley Optimization, EVO)是一種啟發式優化算法,靈感來源于物理學中的“能量谷”概念。它試圖模擬能量在不同能量谷中的轉移過程,以尋找最優解。 在EVO…

Springboot+FastJson實現解析第三方http接口json數據為實體類(時間格式化轉換、字段包含中文)

場景 若依前后端分離版手把手教你本地搭建環境并運行項目: 若依前后端分離版手把手教你本地搭建環境并運行項目_前后端分離項目本地運行-CSDN博客 在上面搭建SpringBoot項目的基礎上,并且在項目中引入fastjson、hutool、lombok等所需依賴后。 系統需…

K8S學習指南(1)-docker的安裝

文章目錄 引言1. Windows 系統中安裝 Dockera. 確認系統要求b. 下載 Docker Desktopc. 安裝 Docker Desktopd. 配置 Docker Desktope. 驗證安裝 2. Ubuntu 系統中安裝 Dockera. 更新包列表b. 安裝依賴包c. 添加 Docker GPG 密鑰d. 添加 Docker APT 倉庫e. 安裝 Dockerf. 添加用…

unity 2d 入門 飛翔小鳥 小鳥跳躍 碰撞停止揮動翅膀動畫(十)

1、切換到動畫器 點擊make transition和exit關聯起來 2、設置參數 勾選掉Has Exit Time 3、腳本給動畫器傳參 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Fly : MonoBehaviour {//獲取小鳥(剛體)p…

linux常用命令-pip命令詳解(超詳細)

文章目錄 前言一、pip命令介紹1. pip命令簡介2. pip命令的基本語法3. 常用的pip命令選項4. 常用的pip命令參數 二、pip命令示例用法1. 安裝包2. 卸載包3. 列出已安裝的包4. 搜索包5. 升級包 總結 前言 pip 是 Python 的包管理器,用于安裝和管理 Python 包。它提供了…

JVM常見垃圾回收器

串行垃圾回收器 Serial和Serial Old串行垃圾回收器,是指使用單線程進行垃圾回收,堆內存較小,適合個人電腦 Serial作用于新生代,采用復制算法 Serial Old作用于老年代,采用標記-整理算法 垃圾回收時,只有…

Windows 系統,TortoiseSVN 無法修改 Log 信息解決方法

使用SVN提交版本信息時,注釋內容寫的不全。通過右鍵TortoiseSVN的Show log看到提交的的注釋,右鍵看到Edit log message的選項,然而提交后卻給出錯誤提示: Repository has not been enabled to accept revision propchanges; ask …

linux如何刪除大文件的第一行(sed)

可以用sed命令實現&#xff1a; 刪除文檔的第一行 1. sed -i 1d <file>刪除文檔的最后一行 1. sed -i $d <file>在文檔指定行中增加一行 # 示例如下&#xff1a; echo "1"; echo "2"; echo "4"; echo "5"; # 想要在echo…

【PHP】php發送郵箱驗證碼格式美化,樣式美化

效果展示&#xff1a; 格式美化前 格式美化后 代碼 大多數框架都自帶有封裝好的發送email方法&#xff0c;就不多贅述&#xff0c;主要寫格式&#xff1a; <? php// 驗證碼過期時間 $expire 120; // 發件人郵箱 $from_email xx163.com; // 收件人 $to_email to163.com…

硬件產品經理常用的ChatGPT通用提示詞模板

產品策略&#xff1a;請幫助我制定一個硬件產品的產品策略。 市場調研&#xff1a;如何進行硬件產品的市場調研&#xff1f; 用戶需求&#xff1a;如何確定硬件產品的用戶需求&#xff1f; 產品設計&#xff1a;如何設計一個優秀的硬件產品&#xff1f; 用戶體驗&#xff1…

數據分析基礎之《matplotlib(5)—直方圖》

一、直方圖介紹 1、什么是直方圖 直方圖&#xff0c;形狀類似柱狀圖卻有著與柱狀圖完全不同的含義。直方圖牽涉統計學的概念&#xff0c;首先要對數據進行分組&#xff0c;然后統計每個分組內數據元的數量。在坐標系中&#xff0c;橫軸標出每個組的端點&#xff0c;縱軸表示頻…

無人機巡山護林,林業無人機智能助力綠色守護

隨著全球環保意識的不斷提高&#xff0c;無人機巡山護林已經成為解決森林巡檢難題的一種獨特而高效的方式。在我國&#xff0c;各地正積極探索無人機在森林防火、病蟲害監測以及生態調查等領域的創新應用。隨著無人機技術的不斷演進&#xff0c;其在推動森林保護和可持續發展方…

HTML實現每天單詞積累

注冊頁面 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>注冊</title><style>body {font-family: Arial, sans-serif;background-color: #f5f5f5;}form {max-width: 500px;margin: 50px auto;padding: 40px…

【Docker】進階之路:(九)Docker網絡

【Docker】從零開始&#xff1a;19.Docker網絡 Docker網絡模式簡介bridge網絡模式host網絡模式none網絡模式container網絡模式user-defined網絡模式1.創建自定義的bridge網絡2.使用自定義網絡 高級網絡配置docker network命令 為什么要了解容器的網絡模式? 首先&#xff0c;容…

spark 寫入 mysql 報錯

報錯信息如下&#xff1a; "C:\Program Files\Java\jdk1.8.0_291\bin\java.exe" "-javaagent:D:\Hadoopruanjian\IDEA\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar60971:D:\Hadoopruanjian\IDEA\IntelliJ IDEA 2021.3.2\bin" -Dfile.encodingUTF-8 -classpat…

工業級路由器在風力發電場的遠程監控技術

工業級路由器在風力發電場的遠程監控技術方面具有重要的應用意義。風力發電場通常由分布在廣闊地區的風力發電機組組成&#xff0c;需要進行實時監測、數據采集和遠程管理。工業級路由器作為網絡通信設備&#xff0c;能夠提供穩定可靠的網絡連接和多種遠程管理功能&#xff0c;…

深入探討Go語言協程調度:GRM模型解析與優化策略

一、線程調度 1、早期單線程操作系統 一切的軟件都是跑在操作系統上&#xff0c;真正用來干活&#xff08;計算&#xff09;的是 CPU早期的操作系統每個程序就是一個進程&#xff0c;直到一個程序運行完&#xff0c;才能進行下一個進程&#xff0c;就是“單進程時代”一切的程…

ES6中新增的基本數據類型----symbol

前言 Symbol 基本數據類型 獨一無二得值 Symbol函數創建 接收字符串 對symbol值得描述 let s1 Symbol(描述) /*** symbol 基本數據類型 表示獨一無二的值 Symbol函數創建獨一無二得值 參數可以是唯一值得描述*/ let sy1 Symbol();//創建好一個獨一無二得值 let sy2 Symbo…

EXP-00056: 遇到 ORACLE 錯誤 12154 ORA-12154: TNS: 無法解析指定的連接標識符

exp oas/oasoas filed:\daochu.dmp owner(s) 導出特定用戶 //exp 用戶名/密碼數據庫 filed:\daochu.dmp owner(用戶名) 1.重啟oracle監聽 cmd 中輸入 services.msc 找到服務&#xff1a;OracleOraDb10g_home1TNSListener 與 OracleServiceORCL。 把兩個服務啟動. 若未解決…