当前位置:网站首页>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;
}
边栏推荐
- 消息队列消息丢失和消息重复发送的处理策略
- 静态Vxlan 配置
- H3C HCl MPLS layer 2 dedicated line experiment
- About web content security policy directive some test cases specified through meta elements
- 2022危险化学品生产单位安全生产管理人员考题及在线模拟考试
- In the small skin panel, use CMD to enter the MySQL command, including the MySQL error unknown variable 'secure_ file_ Priv 'solution (super detailed)
- OSPF exercise Report
- On valuation model (II): PE index II - PE band
- sql-lab (54-65)
- 全球首堆“玲龙一号”反应堆厂房钢制安全壳上部筒体吊装成功
猜你喜欢

关于 Web Content-Security-Policy Directive 通过 meta 元素指定的一些测试用例

SQL Lab (32~35) contains the principle understanding and precautions of wide byte injection (continuously updated later)

"Series after reading" my God! It's so simple to understand throttling and anti shake~

EPP+DIS学习之路(2)——Blink!闪烁!

Attack and defense world - PWN learning notes

对话PPIO联合创始人王闻宇:整合边缘算力资源,开拓更多音视频服务场景

Airserver automatically receives multi screen projection or cross device projection

VSCode的学习使用

Several methods of checking JS to judge empty objects

Zhimei creative website exercise
随机推荐
EPP+DIS学习之路(1)——Hello world!
[Q&A]AttributeError: module ‘signal‘ has no attribute ‘SIGALRM‘
Niuke website
AirServer自动接收多画面投屏或者跨设备投屏
SQL Lab (32~35) contains the principle understanding and precautions of wide byte injection (continuously updated later)
Multi row and multi column flex layout
消息队列消息丢失和消息重复发送的处理策略
On valuation model (II): PE index II - PE band
Completion report of communication software development and Application
ps链接图层的使用方法和快捷键,ps图层链接怎么做的
Apache installation problem: configure: error: APR not found Please read the documentation
盘点JS判断空对象的几大方法
Tutorial on principles and applications of database system (009) -- conceptual model and data model
利用栈来实现二进制转化为十进制
wallys/Qualcomm IPQ8072A networking SBC supports dual 10GbE, WiFi 6
Pule frog small 5D movie equipment | 5D movie dynamic movie experience hall | VR scenic area cinema equipment
Decrypt gd32 MCU product family, how to choose the development board?
Simple network configuration for equipment management
Inverted index of ES underlying principle
MPLS experiment