學習JAVA的第十二天(基礎)

算法

????????????????????????算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述
解決問題的策略
機制。


查找算法

基本查找(順序查找)

關鍵:

? ? ? ? ? ? ? ? ? ? ? ? 0索引開始依次向后查找

方法:

 public static boolean basicSearch(int[] arr,int number) {//基本查找  遍歷數組查找所需結果for (int i = 0; i < arr.length; i++) {if(number == arr[i]){return true;}}return false;}}

二分查找(折半查找)

關鍵:

? ? ? ? ? ? ? ? ? ? ? ? 數組中的數據是有序的

? ? ? ? ? ? ? ? ? ? ? ? 每次排除一半的查找范圍,節省查找次數

方法:

    public static int BinarySearch(int[] arr,int number)  {//定義變量確定查找范圍 最小肯定是0索引的int min = 0;//最大的索引是數組長度-1int max = arr.length-1;//開始循環查找數據,利用while循環,查找出索引直接返回結果while(true){if(min > max){//返回-1,調用時可以將-1與0作比較,得出數據索引是否存在return -1;}//中間位置int mid = (min + max) / 2;//arr[mid]>numberif(arr[mid]>number){max = mid - 1;}//arr[mid]<numberelse if(arr[mid]<number){min = mid + 1;}else{return mid;}}}

分塊查找

關鍵:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 塊內無序,塊間有序

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一般分塊是按照數組長度的開根號

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 具體問題,具體分析?

方法:

//判斷number在哪個塊中private static int findIndexBlock(Block[] bArr,int number){//循環判斷number在哪個塊中for (int i = 0; i < bArr.length; i++) {if(number <= bArr[i].getMax()){return i;}}return -1;}
    //利用分塊查找獲取索引private static int getIndex(Block[] bArr,int[] arr,int number){int indexBlock = findIndexBlock(bArr,number);//數據不在數組中if(indexBlock == -1){return -1;}//數據在數組中  剛才獲取了數據所屬塊的索引int startIndex = bArr[indexBlock].getStartIndex();int endIndex = bArr[indexBlock].getEndIndex();//遍歷for (int i = startIndex; i <= endIndex; i++) {if(arr[i] == number){return i;}}return -1;}

?排序算法

冒泡排序

關鍵:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 將相鄰的數據進行比較,小的放前面,大的放后面。

方法:

      for(int i = 0; i < arr.length - 1; i++){for (int j = 0; j < arr.length - 1-i; j++) {if (arr[j] > arr[j + 1]) {int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}

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

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

相關文章

學習:吳恩達:什么是神經元?神經網絡如何工作?

學習-吳恩達《AI for everyone》2019 深度學習非技術解釋 第2部分 可選.zh_嗶哩嗶哩_bilibili 深度學習Deep learning 人工神經網絡Artificial Neural network 什么是神經網絡&#xff1f; 只有一個神經元 4個神經元的神經網絡 神經網路的絕妙之處 神經網路的絕妙之處就在…

ctf_show筆記篇(web入門---信息收集)

目錄 信息收集 1-2&#xff1a;查看源代碼 3&#xff1a;bp抓包 4&#xff1a;robots.txt&#xff08;這個文件里會寫有網站管理者不想讓爬蟲的頁面或其他&#xff09; 5&#xff1a;網站源代碼泄露index.phps 6&#xff1a;同樣也是源碼泄露&#xff0c;&#xff08;拿到…

Java快讀

java的快讀 (1)BufferedReader BufferedReader br new BufferedReader(new InputStreamReader(System.in));//定義對象String[] strings br.readLine().split(" ");//讀取一行字符串&#xff0c;以空格為分隔轉化為字符串數組int n Integer.parseInt(strings[0])…

k8s分布式圖床(k8s,metricsapi,vue3+ts)

image-manage 圖像管理應用 圖像管理應用提供了一個方便管理圖片的平臺&#xff0c;支持單機和Kubernetes集群部署。請確保您至少擁有一個MySQL數據庫和一個Redis數據庫&#xff0c;以及一個至少為Kubernetes 1.29版本的集群&#xff08;如果選擇集群部署&#xff09;。 文檔…

PCL1.14.0安裝、使用教程

寫在前面 本文內容 本文是PCL1.14.0在Windows下的安裝、使用教程&#xff1b; PCL、Open3D其他版本的編譯和使用相關教程見 各個版本的Open3D、PCL的編譯、使用教程平臺/環境 windows11(windows10): visual studio 2022&#xff1b;cmake 3.22; VsCode轉載請注明出處&#xff…

http和https的區別是什么?

–前言 傳輸信息安全性不同、連接方式不同、端口不同、證書申請方式不同 一、傳輸信息安全性不同 1、http協議&#xff1a;是超文本傳輸協議&#xff0c;信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文&#xff0c;就可以直接讀懂其中的信息。 2、h…

關于django makemigrations/migrate在生成數據表上遇到的一些問題

當你刪除了生成的 migration 文件夾&#xff0c;將數據庫從 SQLite 切換到 MySQL&#xff0c;并且在執行 makemigrations 命令時顯示沒有變化&#xff0c;同時 MySQL 中沒有生成表&#xff0c;可能是由于以下原因造成的&#xff1a; Django遷移系統的工作方式&#xff1a;Djang…

排序(3)——直接選擇排序

目錄 直接選擇排序 基本思想 整體思路&#xff08;升序&#xff09; 單趟 多趟 代碼實現 特性總結 直接選擇排序 基本思想 每一次從待排序的數據元素中選出最小&#xff08;或最大&#xff09;的一個元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的…

軟考 系統分析師系列知識點之詳細調查(3)

接前一篇文章&#xff1a;軟考 系統分析師系列知識點之詳細調查&#xff08;2&#xff09; 所屬章節&#xff1a; 第10章. 系統分析 第2節. 詳細調查 在系統規劃階段&#xff0c;通過初步調查&#xff0c;系統分析師已經對企業的組織結構、系統功能等有了大致的了解。但是&…

力扣203移除鏈表元素

題目&#xff1a; 203. 移除鏈表元素 給你一個鏈表的頭節點 head 和一個整數 val &#xff0c;請你刪除鏈表中所有滿足 Node.val val 的節點&#xff0c;并返回 新的頭節點 。 1&#xff0c;設置一個頭節點&#xff0c;統一操作。 2&#xff0c;這里是用p查找&#xff0c;但是…

BUUCTF---數據包中的線索1

1.題目描述 2.下載附件&#xff0c;是一個.pcap文件 3.放在wireshark中&#xff0c;仔細觀察數據流&#xff0c;會發現有個叫fenxi.php的數據流 4.這條數據流是http,且使用GET方式&#xff0c;接下來我們使用http.request,methodGET 命令來過濾數據流 5.在分析欄中我們追蹤htt…

查看端口占用命令

fuser 8080/tcp netstat -tuln | grep 8080 lsof -i:8080 ss -tuln | grep 8080

在Linux上使用通用二進制包安裝MySQL

下載安裝包 MySQL Community Downloads 安裝依賴 mysql 數據目錄初始化及服務啟動階段依賴libaio&#xff0c;檢測是否已安裝libaio dnf install libaio解壓安裝 ## 創建用戶組 groupadd mysql ## 創建用戶 useradd -r -g mysql -s /bin/false mysql ## 解壓安裝包 tar xv…

數據挖掘:航空公司的客戶價值分析

需求分析 理解并掌握聚類分析方法&#xff0c;掌握數據的標準化&#xff0c;掌握尋找最佳聚類數&#xff0c;掌握聚類的繪圖&#xff0c;掌握聚類分析的應用場景。 系統實現 實驗流程分析 借助航空公司數據&#xff0c;對客戶進行分類對不同類別的客戶進行特征分析&#xf…

IEEE754標準的c語言闡述,以及幾個浮點數常量

很多年前&#xff0c;調研過浮點數與整數之間的雙射問題&#xff1a; win7 intel x64 cpu vs2013 c語言浮點數精度失真問題 最近重新學習了一下IEEE754標準&#xff0c;也許實際還有很多深刻問題沒有被揭示。 計算機程序設計藝術&#xff0c;據說這本書中也有討論。 參考&…

電商數據分析13——電商平臺退貨率分析與降低策略

目錄 寫在開頭1. 退貨率分析的重要性1.1 退貨現象的影響1.2 退貨數據的收集與分析 2. 數據分析揭示的主要退貨原因2.1 產品描述不準確2.2 物流配送問題2.3 產品質量問題 3. 基于數據分析的退貨率降低策略3.1 優化產品描述和圖片3.2 改進物流配送服務3.3 加強質量控制和售后服務…

抖音視頻批量采集軟件|視頻評論下載工具

在日常工作中&#xff0c;需要頻繁下載抖音視頻&#xff0c;但逐個復制分享鏈接下載效率太低&#xff1f;別擔心&#xff01;我們推出了一款專業的抖音視頻批量采集軟件&#xff0c;基于C#開發&#xff0c;滿足您的需求&#xff0c;讓您通過關鍵詞搜索視頻并自動批量抓取&#…

力扣每日一題 受限條件下可到達節點的數目 DFS

Problem: 2368. 受限條件下可到達節點的數目 文章目錄 思路復雜度Code 思路 &#x1f468;?&#x1f3eb; 靈神 復雜度 時間復雜度: O ( n ) O(n) O(n) 空間復雜度: O ( n ) O(n) O(n) Code class Solution {int ans 0;boolean[] set;List<Integer>[] es;publ…

Unity中URP下實現水體(C#動態生成漸變圖)

文章目錄 前言一、Shader部分1、申明水漸變圖紋理和采樣器2、在片元著色器&#xff0c;進行紋理采樣&#xff0c;并且輸出 二、C#腳本部分1、我們新建一個C#腳本2、我們定義兩個變量3、在Start內&#xff0c;new 一個Texture2D(寬&#xff0c;高)4、定義一個Color[寬*高]的顏色…

CCS ‘23 論文清單與摘要

網絡安全學術頂會——CCS 23 論文清單與摘要 1、“Get in Researchers; We’re Measuring Reproducibility”: A Reproducibility Study of Machine Learning Papers in Tier 1 Security Conferences 可復現性對科學的進展至關重要&#xff1b;它增強了對看似矛盾結果的信心&…