当前位置:网站首页>Sorting, dichotomy
Sorting, dichotomy
2022-07-07 12:35:00 【Xiaobai shelter】
One 、 matters needing attention
1 name :
Mandatory rules : Numbers , Underline , Case letters , Dollar symbol , The number can't start , You can't use keywords and reserved words
Non mandatory rules : Look at the text and know the meaning , Hump nomenclature
Variable name and method name , Initial lowercase user, userService
Class names are capitalized User , UserService
2 notes
3 communicate
Two 、 Sort
Sort This means that the saved elements are sorted and stored according to certain rules
such as achievement Sort in descending order , Top three in the class Just take the first three data
2.1 Bubble sort
1 Compare adjacent elements . If the first one is bigger than the second one , Just swap them .
2 Do the same for each pair of adjacent elements , From the beginning of the first couple to the end of the last couple . At this point , The last element should be the largest number .
3 Repeat the above steps for all elements , Except for the last one . 4 Keep repeating the above steps for fewer and fewer elements each time , Until there's no pair of numbers to compare .
2.2 Selection sort
1 Put the smallest one on the left and take out the first one every time , The assumption is the smallest , Then compare with the following one by one , If there is one smaller than the first , Just exchange subscripts after a round of comparison , The subscript of the smallest element has been obtained , Then put it in the front for transposition
2 Repeat this step , Until after the current element When there are no other elements End 
3. Look for the element 
3.1 In order to find 
3.2 Two points search
/**
* Two points search , Also known as half query
*
* 1 The data must be orderly
*
* 2 Generally used for fixed data , Because of order , So adding and deleting is a little more troublesome , Also consider the element shift problem
*
* 3 Both ascending and descending are OK , Just change the algorithm judgment
*
* 4 Random query performance is good
*
* Algorithm implementation
*
* 1 Determine the beginning and end of the intermediate data
* 2 With target data and Compare intermediate data
* 3 If the target data is equal to the intermediate data , Return the index of intermediate data
* 4 If the target data is larger than the intermediate data , Then continue to search in the second half , start = middle +1, End unchanged , Then generate intermediate data
* 5 If the target data is smaller than the intermediate data , Take the first half , Initial invariance , end = middle -1, Then generate intermediate data
* 6 Repeat the above steps , If you start Greater than end Description not found , return -1
*
* @param arr
* @param target
* @return
*/
public static int binarySearch(int[] arr, int target) {
// 1 Determine the beginning and end of the intermediate data
int startIndex = 0;
int endIndex = arr.length-1;
int m = (startIndex+endIndex) /2;
// Cycle comparison
while (startIndex <= endIndex) {
// 3 If the target data is equal to the intermediate data , Return the index of intermediate data
if (target == arr[m]) {
return m;
}
// If the target data is larger than the intermediate data , Then continue to search in the second half , start = middle +1, End unchanged , Then generate intermediate data
if (target > arr[m]) {
startIndex=m+1;
}else{
// If the target data is smaller than the intermediate data , Take the first half , Initial invariance , end = middle -1, Then generate intermediate data
endIndex = m-1;
}
// Generate intermediate data
m = (startIndex+endIndex) /2;
}
// Can be implemented here , Indicates that there is no
return -1;
}
边栏推荐
- 全球首堆“玲龙一号”反应堆厂房钢制安全壳上部筒体吊装成功
- SQL head injection -- injection principle and essence
- Static vxlan configuration
- Xiaohongshu microservice framework and governance and other cloud native business architecture evolution cases
- SQL Lab (46~53) (continuous update later) order by injection
- Using stack to convert binary to decimal
- Apache installation problem: configure: error: APR not found Please read the documentation
- Zhimei creative website exercise
- Customize the web service configuration file
- [pytorch practice] use pytorch to realize image style migration based on neural network
猜你喜欢

Static comprehensive experiment

SQL lab 11~20 summary (subsequent continuous update) contains the solution that Firefox can't catch local packages after 18 levels

Static routing assignment of network reachable and telent connections

Sign up now | oar hacker marathon phase III midsummer debut, waiting for you to challenge

【PyTorch实战】图像描述——让神经网络看图讲故事

Attack and defense world ----- summary of web knowledge points

leetcode刷题:二叉树27(删除二叉搜索树中的节点)

2022广东省安全员A证第三批(主要负责人)考试练习题及模拟考试

leetcode刷题:二叉树24(二叉树的最近公共祖先)

Visual studio 2019 (localdb) \mssqllocaldb SQL Server 2014 database version is 852 and cannot be opened. This server supports version 782 and earlier
随机推荐
[statistical learning methods] learning notes - improvement methods
(to be deleted later) yyds, paid academic resources, please keep a low profile!
浅谈估值模型 (二): PE指标II——PE Band
Financial data acquisition (III) when a crawler encounters a web page that needs to scroll with the mouse wheel to refresh the data (nanny level tutorial)
Sort out the garbage collection of JVM, and don't involve high-quality things such as performance tuning for the time being
Sign up now | oar hacker marathon phase III midsummer debut, waiting for you to challenge
leetcode刷题:二叉树20(二叉搜索树中的搜索)
Cookie
Object. Simple implementation of assign()
Learning and using vscode
MPLS experiment
SQL Lab (41~45) (continuous update later)
Tutorial on the principle and application of database system (008) -- exercises on database related concepts
Idea 2021 Chinese garbled code
数据库系统原理与应用教程(010)—— 概念模型与数据模型练习题
Unity map auto match material tool map auto add to shader tool shader match map tool map made by substance painter auto match shader tool
Completion report of communication software development and Application
SQL Lab (46~53) (continuous update later) order by injection
[statistical learning methods] learning notes - Chapter 5: Decision Tree
【二叉树】删点成林