第一章 開篇__檔案排序

    問題:如何對磁碟檔案進行排序。         直觀解法歸併排序。     實際(物理)問題:美國電話號碼由7位元字組成,排序為尋找相關資訊。     精確的問題陳述:           三種解決方案:     (1)歸併排序    

兩個有序數組間相加和的Top k問題__數組

import java.util.*;//兩個有序數組間相加和的Top k問題public class FindArrTopK{ //堆節點的定義 public static class HeapNode{ public int row; public int col; public int value; public HeapNode(int row,int col,int value){

在兩個排序數組中找到第k小的數__數組

//在兩個排序數組中找到第k小的數public class FindMinK{ //(1)尋找上中位元的演算法 public static int getUpMedia(int[]arr1,int s1,int e1,int[]arr2,int s2,int e2){ int mid1=0; int mid2=0; int offset=0; while(s1<e1){

在兩個長度相等的排序數組中找到上中位元__數組

import java.util.*;//在兩個長度相等的排序數組中找到上中位元public class FindShangMidNum{ //找到兩個數組的上中位元 public static int getShangMidNum(int[]arr1,int[]arr2) { if((arr1==null&&arr2==null)||(arr1.length==0&&arr2.length==0)){

隨時找到資料流的中位元__堆

一、解題思路 二、具體代碼 import java.util.*;//隨時找到資料流的中位元public class FindMidNum{ //利用大、小根堆法解決 private MyHeap<Integer>minHeap; //小根堆 private MyHeap<Integer>maxHeap; //大根堆 //建構函式實現初始化 public FindMidNum(){ this.maxHeap=

設計一個沒有擴容負擔的堆結構__堆

import java.util.*;//設計一個沒有擴容負擔的堆結構public class DesignHeap{// binary tree node contains parent reference(包含指向父類二叉樹) public static class Node<K> { public K value; public Node<K> left; public Node<K> right;

判斷一個點是否在三角形內部__boolean

//判斷一個點是否在三角形內部public class IsIntriangle{ //(1)面積法求解public static boolean isInside1(double x1, double y1, double x2, double y2,double x3, double y3, double x, double y) {double area1 = getArea(x1, y1, x2, y2, x, y);double area2 = getArea(x1, y1, x3,

判斷一個點是否在矩形內部__矩形

//判斷一個點是否在矩形內部public class InMatrix{ //(1)特殊情況,矩形平行於x軸和y軸 public static boolean isInMatrix(double x1,double y1,double x4,double y4,double x,double y){ if(x<=x1) { return false; } if(x>=x4)

技術人員這樣面試__面試

一、聽清題,勿搶答         面試,首先也是一個人與人交流溝通的過程。有些時候,面試官還沒說完問題,面試者就會打斷說「這個問題我知道...」。打斷不利於溝通,同時,這樣其實導致面試題沒聽清。比如面試題是「如何理解Java 的 JMM,...」後面還沒說的時候,面試者打斷說「你說的這個我會。。。,包括方法區,堆,棧 balabala」這就答的都跑偏了。 二、從全域、到具體

快排的遞迴與非遞迴實現__快排

import java.util.*;//快排的實現public class quikSort{ //(1)遞迴實現快速排序 public static void quickSort(int[]s,int l,int r){ if(l<r) { int i=l; int j=r; int pivot=s[l]; //取每個子數組的第一個數為基點 while(i<j) {

求樹的高度__樹

題目:樹的高度 時間限制:C/C++語言 1000MS;其他語言 3000MS 記憶體限制:C/C++語言 65536KB;其他語言 589824KB 題目描述: 現在有一棵合法的二叉樹,樹的節點都是用數字表示, 現在給定這棵樹上所有的父子關係,求這棵樹的高度

二叉樹的先、中、後序遍曆的遞迴和非遞迴實現及廣度優先遍曆、深度優先遍曆及其高度__先序

// 構造二叉樹 1 / \ 2 3 / / \ 4 5 7 \ / 6 8 一、二叉樹的前、中、後序遍曆(遞迴與非遞迴實現) 二、二叉樹的廣度、深度優先遍曆 三、求二叉樹的高度 import java.util.*;//二叉樹的深度和廣度遍曆public class

同步/非同步和阻塞/非阻塞的區別__同步

同步、非同步: 概念:訊息的通知機制 解釋:涉及到IO通知機制;所謂同步,就是發起調用後,被調用者處理訊息,必須等處理完才直接返回結果,沒處理完之前是不返回的,調用者主動等待結果;所謂非同步,就是發起調用後,被調用者直接返回,但是並沒有返回結果,等處理完訊息後,通過狀態、通知或者回呼函數來通知調用者,調用者被動接收結果。 阻塞、非阻塞: 概念:程式等待調用結果時的狀態

有關階乘的兩個問題__有關階乘的兩個問題

//(方法一、判定5的個數O(Nlog(5)N))給定一個非負整數N,返回N!結果的末尾為0的數量 public static int getZero(int n) { if(n<0) { return 0; } int res=0; int cur=0; for(int i=5;i<n+1;i+=5) { cur=i;

從5隨機到7隨機及其擴充__擴充

//從5隨機到7隨機及其擴充public class RandomInt{ public static int rand1To5() { return (int)(Math.random()*5)+1; } //產生1-7的隨機函數 public static int rand1To7() { //return rand1To5()+2; int num=0; do{

經典的KMP演算法__kmp

//KMP演算法(手寫大名鼎鼎的kmp)經典的KMP演算法時間複雜度為O(m+n)public class kmp{ //kmp演算法尋找是否匹配 public static int getIndexOf(String s,String m) { if(s==null||m==null||m.length()<1||s.length()<m.length()) { return -1; }

之字形列印矩陣__matrix

//之字形列印矩陣public class ZhiPrintMatrix{ //之字形列印矩陣 public static void PrintMatrixZigZag(int[][]matrix) { //定義兩個移動方向 int tr=0; int tc=0; int dr=0; int dc=0; int endr=matrix.length-1; int endc=matrix[0].length-1; boolean

轉圈列印矩陣__matrix

//轉圈列印矩陣public class CirclePrintMatrix{ //(1)矩陣分圈處理 public static void CirclePrintMatrix01(int[][]matrix) { int tR=0; int tC=0; int dR=matrix.length-1; int dC=matrix[0].length-1; while(tR<=dR&&tC<=dC) { //

在其他數都出現k次的數組中找到只出現一次的數__在其他數都出現k次的數組中找到只出現一次

//在其他數都出現k次的數組中找到只出現一次的數public class GetNumOne{ //獲得只出現一次的數 public static int OneceNum(int[]arr,int k) { int[]e0=new int[32]; for(int i=0;i<arr.length;i++) { setCurExc(e0,arr[i],k); }

在其他數都出現偶數次的數組中找到出現奇數次的數__在其他數都出現偶數次的數組中找到出現奇數

//在其他數都出現偶數次的數組中找到出現奇數次的數public class OddNum{//(1)數組中只有一個數出現奇數次public static void Get01(int[]arr){ int cur=0; for(int i=0;i<arr.length;i++) { cur=cur^arr[i]; }

總頁數: 61357 1 .... 23266 23267 23268 23269 23270 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.