단순 정렬 알고리즘 자바 정렬 알고리즘 정렬 알고리즘 요약 힙 정렬 알고리즘
$arr = 배열(
12,
45,
89,
3,
24,
55,
223,
76,
22,
11,
28,
112,
20,
434,
23,
65,
65,
765,
6,
8,
23,
5,
33,
553,
45,
423,
64,
77,
84,
23
);
/**
* 버블 정렬 알고리즘, 시간 복잡도 n2/2배
* 버블 정렬의 기본 개념은 다음과 같습니다. 인접한 숫자를 순서대로 나열하여 소수점을 앞에, 큰 숫자를 뒤에 넣습니다. 즉, 첫 번째 단계에서는 먼저 첫 번째 숫자와 두 번째 숫자를 비교하고 소수점을 앞에 배치하고 큰 숫자를 뒤에 배치합니다.
* 그런 다음 두 번째 숫자와 세 번째 숫자를 비교하고 소수를 앞에 놓고 큰 숫자를 뒤에 넣고 마지막 두 숫자를 비교할 때까지 계속해서 소수를 앞에 놓고 큰 숫자를 뒤에 넣습니다. . 이 시점에서 첫 번째 여행이 종료되며 가장 큰 숫자가 끝에 배치됩니다.
* 두 번째 패스에서도 첫 번째 숫자 쌍부터 비교를 시작합니다(두 번째 숫자와 세 번째 숫자의 교환으로 인해 첫 번째 숫자가 더 이상 두 번째 숫자보다 작지 않기 때문일 수 있음). 소수점 넣기 전, 큰 숫자가 재생된 후 마지막에서 두 번째 숫자까지 비교가 계속됩니다.
* (마지막 첫 번째 위치가 이미 가장 큰 숫자입니다.) 마지막에서 두 번째 위치에서 새로운 최대 숫자가 얻어집니다(실제로 전체 시퀀스에서 두 번째로 큰 숫자입니다). 이렇게 계속해서 위의 과정을 반복하세요,
* 최종적으로 정렬이 완료될 때까지.
*/
function maopao_sort($arr)
{
$count = count($arr);
$tmp;
$m = 0 // 계산 실행에 사용됩니다. 몇 번
for ($i = 0; $i < $count - 1; $i ++) {
for ($j = 0; $j < $count - 1 - $i; $ j ++) {
> print_r( $arr);
echo $m;
}
/**
* 선택 정렬 알고리즘, 시간 복잡도 n2/2배
* 1. 정렬할 시퀀스에서 가장 작은 키워드가 있는 요소를 찾습니다.
* 2. 가장 작은 요소가 첫 번째가 아닌 경우; 정렬할 요소의 순서를 첫 번째 요소와 교환합니다.
* 3. 나머지 N - 1개 요소에서 가장 작은 키워드가 있는 요소를 찾고 정렬이 끝날 때까지 (1)과 (2) 단계를 반복합니다. 🎜>*/
function select_sort($arr)
{
$count = count($arr) ;
$tmp;
$m = 0; // 횟수를 계산하는 데 사용됩니다.
($i = 0; $i < $count - 1; $i ++) {
$p = $i;
~ j <$count; $j ++) { j]) {
$p = $tmp = $arr [$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
}
print_r($arr );
echo $m;
}
/**
* 삽입 정렬 알고리즘, 시간 복잡도 n2/2배
* 삽입 정렬은 모든 삽입이 완료될 때까지 각 단계에서 정렬할 데이터의 조각을 크기에 따라 정렬된 데이터의 적절한 위치에 삽입하는 것입니다. 완료
* /
function insert_sort($arr)
{
$count = count($arr);
$tmp;
$m = 0; // 실행 횟수를 계산하는 데 사용됩니다.
for ($i = 1; $i < $count; $i ++) {
$tmp = $arr[$i];
for ($j = $i - 1; $ j >= 0; $j --) {
if ($tmp < $arr[$j]) {
$arr[$j + 1] > 🎜> }
}
print_r($arr);
echo $m;
}
/**
* 빠른 정렬 알고리즘, 시간 복잡도 n2/2배
* 이 방법의 기본 아이디어는 다음과 같습니다.
* 1. 먼저 시퀀스에서 숫자를 기본 숫자로 가져옵니다.
* 2. 파티셔닝 과정에서 이 숫자보다 큰 모든 숫자는 오른쪽에 배치되고 이 숫자보다 작거나 같은 모든 숫자는 왼쪽에 배치됩니다.
* 3. 각 간격에 하나의 숫자만 남을 때까지 왼쪽 및 오른쪽 간격에 대해 두 번째 단계를 반복합니다.
*/
quick_sort($arr)
{
$count = count($arr);
if ($count <= 1) {
return $arr;
}
$tmp = $arr[0];
$left_array = array();
$right_array = array();
for ($i = 1; $ i < $count; $i ++) {
if ($arr[$i] <= $tmp) {
$left_array[] = $arr[$i];
} else {
$right_array[] = $arr[$i];
}
$m ++;
}
$left_array =quick_sort($left_array);
$right_array =quick_sort($right_array);
return array_merge($left_array, array(
$tmp
), $right_array);
}
// print_r(quick_sort($arr) );
// // print_r(quickSort($arr));
functionquickpaixu($arr)
{
$count = count($arr);
if ($count <= 1) {
return $arr;
}
$key = $arr[0]; // 取一个值,稍后用来比较;
$left_arr = array();
$right_arr = array();
for ($i = 1; $i < $count; $ i ++) { // 比$key큰 放在右边,작은放左边;
if ($arr[$i] <= $key) {
$left_arr[] = $arr [$i];
} else {
$right_arr[] = $arr[$i];
}
}
$left_arr = Quickpaixu($left_arr); // 进行递归;
$right_arr = Quickpaixu($right_arr);
return array_merge($left_arr, array(
$key
), $right_arr); // 将左中右的值合并成一个数组;
} // 以下是测试
// print_r(quickpaixu($arr));
?>
以上就介绍了简单排序算法, 包括了排序算法,简单면적内容, 希望对PHP教程有兴趣的朋友有所帮助.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











하드디스크 일련번호는 하드디스크의 중요한 식별자로 일반적으로 하드디스크를 고유하게 식별하고 하드웨어를 식별하는 데 사용됩니다. 운영 체제를 설치하거나, 올바른 장치 드라이버를 찾거나, 하드 드라이브를 수리할 때와 같이 하드 드라이브 일련 번호를 쿼리해야 하는 경우도 있습니다. 이 문서에서는 하드 드라이브 일련 번호를 확인하는 데 도움이 되는 몇 가지 간단한 방법을 소개합니다. 방법 1: Windows 명령 프롬프트를 사용하여 명령 프롬프트를 엽니다. Windows 시스템에서는 Win+R 키를 누르고 "cmd"를 입력한 후 Enter 키를 눌러 명령을 엽니다.

1. 문제의 배경 1. 양면시장 실험의 소개 양면시장, 즉 플랫폼은 생산자와 소비자라는 두 명의 참여자를 포함하며, 양측은 서로를 홍보한다. 예를 들어 Kuaishou에는 영상 제작자와 영상 소비자가 있는데, 그 두 아이덴티티는 어느 정도 겹칠 수 있습니다. 쌍방향 실험은 생산자 측과 소비자 측의 그룹을 결합하는 실험 방법입니다. 양자간 실험에는 다음과 같은 장점이 있습니다. (1) 제품 DAU의 변화, 작품을 업로드하는 사람 수 등 두 가지 측면에 대한 새로운 전략의 영향을 동시에 감지할 수 있습니다. 양자간 플랫폼은 종종 교차 네트워크 효과를 갖습니다. 독자가 많을수록 저자는 더 활발해지며, 저자가 더 활동적일수록 더 많은 독자가 팔로우하게 됩니다. (2) 효과 오버플로 및 전송을 감지할 수 있습니다. (3) 작용 메커니즘을 더 잘 이해하도록 도와주세요. AB 실험 자체는 원인과 결과 사이의 관계를 알려줄 수는 없습니다.

Java를 사용하여 간단한 학생 성과 보고서 생성기를 작성하는 방법은 무엇입니까? 학생 성과 보고서 생성기는 교사나 교육자가 학생 성과 보고서를 신속하게 생성하는 데 도움이 되는 도구입니다. 이 기사에서는 Java를 사용하여 간단한 학생 성과 보고서 생성기를 작성하는 방법을 소개합니다. 먼저 학생 개체와 학생 성적 개체를 정의해야 합니다. 학생 객체에는 학생의 이름, 학번 등의 기본 정보가 포함되고, 학생 점수 객체에는 학생의 과목 점수, 평균 성적 등의 정보가 포함됩니다. 다음은 간단한 학생 개체의 정의입니다.

PHP를 통해 간단한 온라인 예약 시스템 작성 방법 인터넷의 대중화와 사용자의 편의성 추구로 인해 온라인 예약 시스템이 점점 더 대중화되고 있습니다. 레스토랑, 병원, 미용실 또는 기타 서비스 산업이든 간단한 온라인 예약 시스템은 효율성을 높이고 사용자에게 더 나은 서비스 경험을 제공할 수 있습니다. 이 기사에서는 PHP를 사용하여 간단한 온라인 예약 시스템을 작성하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 데이터베이스 및 테이블 생성 먼저 예약 정보를 저장할 데이터베이스를 생성해야 합니다. MyS에서는

빠른 시작: Go 언어 기능을 사용하여 간단한 라이브러리 관리 시스템 구현 소개: 컴퓨터 과학 분야의 지속적인 발전으로 인해 소프트웨어 애플리케이션의 요구 사항이 점점 더 다양해지고 있습니다. 공통 관리 도구로서 도서관 관리 시스템은 많은 도서관, 학교 및 기업에 필요한 시스템 중 하나가 되었습니다. 이 기사에서는 Go 언어 기능을 사용하여 간단한 라이브러리 관리 시스템을 구현해 보겠습니다. 이 예제를 통해 독자는 Go 언어의 기본 기능 사용법과 실제 프로그램 작성 방법을 배울 수 있습니다. 1. 디자인 아이디어: 먼저 하자

C++로 간단한 음악 추천 시스템을 작성하는 방법은 무엇입니까? 소개: 음악 추천 시스템은 현대 정보 기술의 연구 핫스팟으로 사용자의 음악 선호도와 행동 습관을 기반으로 노래를 추천할 수 있습니다. 이 기사에서는 C++를 사용하여 간단한 음악 추천 시스템을 작성하는 방법을 소개합니다. 1. 사용자 데이터 수집 먼저 사용자의 음악 선호도 데이터를 수집해야 합니다. 다양한 유형의 음악에 대한 사용자의 선호도는 온라인 설문조사, 설문지 등을 통해 얻을 수 있습니다. 텍스트 파일이나 데이터베이스에 데이터 저장

PHP를 사용하여 간단한 파일 관리 기능을 개발하는 방법 소개: 파일 관리 기능은 많은 웹 애플리케이션의 필수 부분입니다. 사용자는 파일을 업로드, 다운로드, 삭제, 표시할 수 있어 사용자에게 편리한 파일 관리 방법을 제공합니다. 이 기사에서는 PHP를 사용하여 간단한 파일 관리 기능을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 프로젝트 생성 먼저 기본 PHP 프로젝트를 생성해야 합니다. 프로젝트 디렉토리에 다음 파일을 생성합니다: index.php: 업로드 테이블을 표시하는 데 사용되는 메인 페이지

C++로 간단한 지뢰 찾기 게임을 작성하는 방법은 무엇입니까? 지뢰 찾기(Minesweeper)는 플레이어가 지뢰를 밟지 않고 알려진 지뢰밭의 배치에 따라 모든 블록을 드러내야 하는 고전적인 퍼즐 게임입니다. 이 기사에서는 C++를 사용하여 간단한 지뢰 찾기 게임을 작성하는 방법을 소개합니다. 먼저 지뢰찾기 게임의 지도를 표현하기 위해 2차원 배열을 정의해야 합니다. 배열의 각 요소는 공개 여부, 지뢰 유무 등 블록의 상태를 저장하는 데 사용되는 구조일 수 있습니다. 또한, 우리는 또한 정의해야
