Telegram Group & Telegram Channel
πŸ–₯Быстрая сортировка (QuickSort) с использованиСм рСкурсии

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: cΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивной ΠΏΡ€ΠΈ использовании простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сортировка ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ ΠΈΠ»ΠΈ вставками.

РСшСниС: Автор Π² ΠΊΠ½ΠΈΠ³Π΅ Algorithms and Data Structures for OOP With C# дСмонстрируСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ QuickSort β€” ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых эффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, с рСкурсивным Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

public class QuickSortExample
{
public void QuickSort(int[] arr, int low, int high)
{
if (low < high)
{
int pi = Partition(arr, low, high);

QuickSort(arr, low, pi - 1);
QuickSort(arr, pi + 1, high);
}
}

private int Partition(int[] arr, int low, int high)
{
int pivot = arr[high];
int i = (low - 1);

for (int j = low; j < high; j++)
{
if (arr[j] < pivot)
{
i++;
(arr[i], arr[j]) = (arr[j], arr[i]);
}
}

(arr[i + 1], arr[high]) = (arr[high], arr[i + 1]);
return i + 1;
}
}


ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
β€” Быстрая сортировка Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
β€” БрСдняя ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n log n)
β€” Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС памяти Π·Π° счСт рСкурсии
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/csharp_1001_notes/712
Create:
Last Update:

πŸ–₯Быстрая сортировка (QuickSort) с использованиСм рСкурсии

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: cΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивной ΠΏΡ€ΠΈ использовании простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сортировка ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ ΠΈΠ»ΠΈ вставками.

РСшСниС: Автор Π² ΠΊΠ½ΠΈΠ³Π΅ Algorithms and Data Structures for OOP With C# дСмонстрируСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ QuickSort β€” ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых эффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, с рСкурсивным Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


public class QuickSortExample
{
public void QuickSort(int[] arr, int low, int high)
{
if (low < high)
{
int pi = Partition(arr, low, high);

QuickSort(arr, low, pi - 1);
QuickSort(arr, pi + 1, high);
}
}

private int Partition(int[] arr, int low, int high)
{
int pivot = arr[high];
int i = (low - 1);

for (int j = low; j < high; j++)
{
if (arr[j] < pivot)
{
i++;
(arr[i], arr[j]) = (arr[j], arr[i]);
}
}

(arr[i + 1], arr[high]) = (arr[high], arr[i + 1]);
return i + 1;
}
}


ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
β€” Быстрая сортировка Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
β€” БрСдняя ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n log n)
β€” Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС памяти Π·Π° счСт рСкурсии

BY C# 1001 notes


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/csharp_1001_notes/712

View MORE
Open in Telegram


C 1001 notes Telegram | DID YOU KNOW?

Date: |

Launched in 2013, Telegram allows users to broadcast messages to a following via β€œchannels”, or create public and private groups that are simple for others to access. Users can also send and receive large data files, including text and zip files, directly via the app.The platform said it has more than 500m active users, and topped 1bn downloads in August, according to data from SensorTower.

Should You Buy Bitcoin?

In general, many financial experts support their clients’ desire to buy cryptocurrency, but they don’t recommend it unless clients express interest. β€œThe biggest concern for us is if someone wants to invest in crypto and the investment they choose doesn’t do well, and then all of a sudden they can’t send their kids to college,” says Ian Harvey, a certified financial planner (CFP) in New York City. β€œThen it wasn’t worth the risk.” The speculative nature of cryptocurrency leads some planners to recommend it for clients’ β€œside” investments. β€œSome call it a Vegas account,” says Scott Hammel, a CFP in Dallas. β€œLet’s keep this away from our real long-term perspective, make sure it doesn’t become too large a portion of your portfolio.” In a very real sense, Bitcoin is like a single stock, and advisors wouldn’t recommend putting a sizable part of your portfolio into any one company. At most, planners suggest putting no more than 1% to 10% into Bitcoin if you’re passionate about it. β€œIf it was one stock, you would never allocate any significant portion of your portfolio to it,” Hammel says.

C 1001 notes from id


Telegram C# 1001 notes
FROM USA