原创 二叉查找樹

package com.core.algorithm.tree; /** * 二叉查找樹節點 左子樹比根節點小,右子樹比根節點大 * Created by yuanqingjing on 2020/3/4 */ public c

原创 JDK 1.8 HashMap源碼解析

put方法分析 public V put(K key,V value){ return putVal(hash(key),key,value,false,true); } hash方法解析 //減少hash衝突 static f

原创 算法基礎訓練題(二)

3.歸併排序求逆序對數 (10分) C時間限制:1 毫秒 |  C內存限制:1 Kb 題目內容: 輸入描述 有多組測試數據,每組數據佔一行。 首先輸入一個整數N表示數組元素有N個,接下來輸入N個整數 N<=50 輸出描

原创 算法基礎訓練(二)

1.統計逆序對數 (10分) C時間限制:1 毫秒 |  C內存限制:1 Kb 題目內容: 設A[1..n]是一個包含N個非負整數的數組。 如果在i〈 j的情況下,有A[i]〉A[j],則(i,j)就稱爲A中的一個逆序對。 要解決

原创 簡單選擇排序

/*選擇排序的思想,從第i個記錄開始, 通過n-i次關鍵字比較,從n-i+1個關鍵 字中選出關鍵字較小的記錄,並和第i個記錄交換 */#include<iostream> using namespace std; #define N 10

原创 蛇形數組

//蛇形數組的思想就是從數組值爲1的地方 /*開始,一豎賦完值 ,再一橫賦值,再一豎 賦值,再一橫,四個一個迴環,然後再一直 循環,直到值等於n*n */#include<iostream> #include<string.h> usin

原创 希爾排序

//思想,用間隔量讓這幾個數排序,即將待排序的關鍵字序列分成若干個 /*較小的子序列,對子序列進行插入排序,使整個待排序序列排好序*/ #include<iostream> using namespace std; #define N 1

原创 算法基礎訓練題(一)

4.三角形順序 (10分) C時間限制:1 毫秒 |  C內存限制:1 Kb 題目內容: 現在給你不共線的三個點A,B,C的座標,它們一定能組成一個三角形. 現在讓你判斷A,B,C是順時針給出的還是逆時針給出的? 輸入描述

原创 算法基礎訓練題(二)

2.歸併排序 (10分) C時間限制:1 毫秒 |  C內存限制:1 Kb 輸入描述 多組測試數據。 首先輸入一個整數N表示數組元素個數N 然後輸入N個整數 輸出描述 輸出N個整數在一行,用空格隔開 輸入樣例 5 5

原创 n皇后問題 HDOJ-2553

N皇后問題 Problem Description 在N*N的方格棋盤放置了N個皇后,使得它們不相互攻擊(即任意2個皇后不允許處在同一排,同一列,也不允許處在與棋盤邊框成45角的斜線上。 你的任務是,對於給定的N,求出有多少種

原创 拆半插入

//拆半插入排序  /*採用拆半查找的方法,讓x等於 第i個的key值,在前i-1個數中進 行拆半查找,最後找到x應該放的 位置low,將下標low以後的位置 都往後移一位,將x放在low下標 對應的位置,然後以此類推時間複雜度任爲O(n

原创 算法基礎訓練題(一)

1.公約數 和 公倍數 (10分) C時間限制:1 毫秒 |  C內存限制:1 Kb 題目內容: 歐幾里得算法求最大公約數 歐幾里得算法求最大公約數 歐幾里得算法求最大公約數 重要的事情說三遍... 必須使用這個算法 歐幾里德算法

原创 素數及素數篩選算法訓練基礎題(一)

2.篩法求素數 (10分) C時間限制:1 毫秒 |  C內存限制:1 Kb 題目內容: 1.素數判斷:輸入一個數x,判斷是否是素數 2.篩法求素數:輸入一個數n,判斷從1到n有哪些數是素數,輸入素數個數。 輸入描述 In

原创 歸併排序

/*歸併排序算法思想,其思想是基於合併, 將兩個或兩個以上的有序表合成一個新的有序表 首先將n個記錄看成n個有序的子序列,每個子序列的長度爲1 然後兩兩歸併得到n/2個長度爲2的有序子序列,再在此基礎上, 對長度爲二的進行兩兩歸併,得到若

原创 給vs2012添加glut庫

glut下載地址: http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip1.在c盤中搜索GL.h,將從網上下載的壓縮包解壓後,將glut.h放在和GL.h的