国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > java中常用的算法總結

java中常用的算法總結

來源:千鋒教育
發布人:wjy
時間: 2022-04-20 11:31:00 1650425460

  程序員進行編程的過程中肯定少不了對于數據的處理,那么此時了解Java算法就非常重要,Java算法有很多,今天千鋒小編針對Java中常用的算法做了一期整理,下面就簡單的介紹一下程序員常用的一些Java算法。

     java中常用的算法

  一、排序

  1.1 排序概述

  排序(sorting)的功能是將一個數據元素的任意序列,重新排列成一個按關鍵字有序的序列。

  內部排序和外部排序:一類是整個排序過程在內存儲器中進行,稱為內部排序;另一類是由于待排序元素數量太大,使得內存儲器無法容納全部數據,排序需要借助外部存儲設備才能完成,這類排序稱為外部排序。

  比較排序和非比較排序

  大部分排序都是需要通過比較首先來判斷大小,作為排序的依據的。

  但是也有例外,比如計數排序、基數排序不需要進行比較。效率可以更高,但同時也會有一些限制條件,也可能需要更多的空間。

  冒泡排序、選擇排序、直接插入排序是最基本的三種排序,效率低但是算法簡單。排序的學習一般從這三種排序算法著手。

  1.2冒泡排序

  冒泡排序的算法

  1) 整個數列分成兩部分:前面是無序數列,后面是有序數列

  2) 初始狀態下,整個數列都是無序的,有序數列是空

  3) 如果一個數列有n個元素,則至多需要n-1趟循環才能保證數列有序

  4) 每一趟循環可以讓無序數列中最大數排到最后,(也就是說有序數列的元素個數增加1)

  5) 每一趟循環都從數列的第一個元素開始進行比較,依次比較相鄰的兩個元素,比較到無序數列的末尾即可(而不是數列的末尾)

  6) 如果前一個大于后一個,交換

  1.3 選擇排序

  選擇排序的算法

  1) 整個數列分成兩部分:前面是有序數列,后面是無序數列

  2) 初始狀態下,整個數列都是無序的,有序數列是空

  3) 一共n個數,需要n-1趟循環(一趟都不能少)

  4) 每比較完一趟,有序數列數量+1,無序數列數量-1

  5) 每趟先假設無序數列的第1個元素(整個數列的第i個元素)是最小的,讓當前最小數,從第i+1個元素開始比較,一直比較到最后一個元素。如果發現更小的數,就假設當前數是最小數。

  6) 一趟比較完后,將發現最小數和無序數列的第一個數交換(如果最小數不是無序數列的第一個數)

  二、遞歸和折半查找

  2.1 遞歸

  遞歸(recursion)是一種常見的解決問題的方法,即把問題逐漸簡單化。遞歸的基本思想就是“自己調用自己”,一個使用遞歸技術的方法將會直接或者間接的調用自己。利用遞歸可以用簡單的程序來解決一些復雜的問題。比如:斐波那契數列的計算、漢諾塔、快速排序等問題。

  遞歸問題的特點:一個問題可被分解為若干層簡單的子問題;子問題和其上層問題的解決方案一致;外層問題的解決依賴于子問題的解決。

    與此同時,遞歸有著思路自然、程序簡單的優點,自然也有缺點,遞歸調用會占用大量的系統堆棧,內存耗用多,在遞歸調用層次多時速度要比循環慢的多。

  2.2 折半查找

  折半查找又稱為二分查找,這種查找方法需要待查的查找表滿足兩個條件:

  首先,查找表必須使用順序存儲結構;

  其次,查找表必須按關鍵字大小有序排列。

    上面就是java中常用的算法的一個簡單的介紹和總結。希望這篇對Java語言經典算法的介紹能夠幫助大家。如果你對Java培訓有興趣,歡迎隨時咨詢千鋒教育!

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
開班信息
北京校區
  • 北京校區
  • 大連校區
  • 廣州校區
  • 成都校區
  • 杭州校區
  • 長沙校區
  • 合肥校區
  • 南京校區
  • 上海校區
  • 深圳校區
  • 武漢校區
  • 鄭州校區
  • 西安校區
  • 青島校區
  • 重慶校區
  • 太原校區
  • 沈陽校區
  • 南昌校區
  • 哈爾濱校區