Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions 01.Big O notation/big-o-notation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Big O notation - Katta O belgisi</b></h1>
File renamed without changes.
2 changes: 2 additions & 0 deletions 02.Numbers/Numbers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<h1 align="center" style="color:orange;"><b>Numbers - Sonlar</b></h1>

2 changes: 2 additions & 0 deletions 03.Searching Algorithms/Searching Algorithms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<h1 align="center" style="color:orange;"><b>Searching Algorithms - Qidiruv Algoritmlari</b></h1>

File renamed without changes.
File renamed without changes.
83 changes: 83 additions & 0 deletions 04.Sorting Algorithms/Sorting Algorithms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<h1 align="center" style="color:orange;"><b>Sotring Algorithms - Tartiblash Algoritmlari</b></h1>

Ushbu bo'limda sizlar bilan tartiblash algoritmlarini barcha turlarini ko'rib chiqamiz. Ularni qay o'rinda, qanday ishlatishni va qanday qilib Rust dasturlash tilida kodga o'girishni misollar va qiziqarli yo'llar bilan ko'rib chiqamiz.

**Tartibalsh Algoritmlar bu quyidagilar:**

1. Bubble sort
2. Selection sort
3. Insertion sort
4. Merge sort
5. Quick sort
6. Heap sort
7. Radix sort
8. Shell sort
9. Couting sort
10. Bucket sort

Ammo biz bularni barchasini o'rganmasakda sizlar bilan eng keraklilarini ko'rib ketamiz.

<h2 align="center"><b>Bubble Sort</b></h2>
<hr>

Bubble Sort - bu eng oddiy sorting(tartiblash) algoritmi bo'lib, agar ular noto'g'ri tartibda bo'lsa, adjacent elementlarni qayta-qayta almashtirish orqali ishlaydi. Ushbu algoritm katta ma'lumotlar to'plamlari uchun mos emas, chunki uning average va worst-case time(eng yomon vaqt murakkabligi) ancha yuqori.

Algoritmni qanday ishlashini pastdagi misol orqali ko'rishingiz mumkin:

![alt text](https://www.swtestacademy.com/wp-content/uploads/2021/11/bubble-sort-animation-swtestacademy-bg.gif)

![alt text](https://upload.wikimedia.org/wikipedia/commons/c/c8/Bubble-sort-example-300px.gif?20131109191607)

Ko'rib turibsizki uning ishlashi juda sodda. Keling endi uni Rustda qanday qilib kod holatiga o'tkazishni ko'rib chiqamiz.

## Rust

```rust
fn main() {
let mut arr = [4, 7, 9, 1, 2, 3, 0, 8, 5, 6, -3, 234, -23, 11];
println!("Tartibisz ro'yxat: {:?}", arr);

buble_sort(&mut arr);
println!("Tartiblangan ro'yxat: {:?}", arr);
}

pub fn buble_sort(arr: &mut [i32]) {
let len = arr.len();
for i in 0..len {
for j in 0..len-i-1 {
if arr[j] > arr[j+1] {
arr.swap(j, j + 1);
}
}
}
}
```

<br>

<h2 align="center"><b>Selection Sort</b></h2>
<hr>

Computer scienceda selection sort joyida taqqoslash algoritmi hisoblanadi. U O(n2) time complexity(vaqt murakkabligi)ga ega, bu esa uni katta roʻyxatlarda samarasiz qiladi va odatda similar insertion sortdan koʻra yomonroq ishlaydi. Selection sort o'zining soddaligi bilan ajralib turadi va muayyan vaziyatlarda, ayniqsa yordamchi xotira cheklangan bo'lsa, murakkabroq algoritmlarga nisbatan ishlash afzalliklariga ega.

![alt text](https://www.swtestacademy.com/wp-content/uploads/2021/11/selection-sort-amination.gif)

```rust
// Bu yerda rust implementation bo'ladi!
```

<h2 align="center"><b>Insertion Sort</b></h2>
<hr>

...


<h2 align="center"><b>Merge Sort</b></h2>
<hr>

...

<h2 align="center"><b>Quick Sort</b></h2>
<hr>

...
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions 05.Data Structures/Data Structures.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Data Structures - Ma'lumot tuzilmalari</b></h1>
1 change: 1 addition & 0 deletions 06.Linked List/Linked List.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Linked List - Bog'langan List</b></h1>
1 change: 1 addition & 0 deletions 07.Tree/Tree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Tree - Daraxt</b></h1>
1 change: 1 addition & 0 deletions 08.Graph/Graph.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Graphs - Grafiklar</b></h1>
1 change: 1 addition & 0 deletions 09.Greedy Algorithms/Greedy Algorithms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Greedy Algorithms - Ochko'z Algoritmlar</b></h1>
1 change: 1 addition & 0 deletions 10.Dynamic Programming/Dynamic Programming.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Dynamic Programming - Dynamic Programming</b></h1>
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions 11.Other Algorithms/Other Algorithms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<h1 align="center" style="color:orange;"><b>Other Algorithms - Boshqa Algoritmlar</b></h1>
File renamed without changes.
24 changes: 20 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,23 @@
<h2 align="center">Rust Algorithms</h2>
<h2 align="center">DSA with Rust </h2>

<header>
<img src="https://github.com/ismoilovdevml/rust-algorithms/blob/master/assets/icon.png" alt="logo" height="60" align="left">
<h1 style="display: inline">Algoritmlarni Rustda yozamiz</h1>
<img src="./assets/icon.png" alt="logo" height="60" align="left">
<h1 style="display: inline">Data Structure va Algoritmlarni Rustda yozamiz</h1>

![alt text](https://github.com/ismoilovdevml/rust-algorithms/blob/master/assets/banner.png)
![alt text](./assets/banner.png)

## Darsliklar uchun havolalar:

1. [Big O notation](./01.Big%20O%20notation/big-o-notation.md)
2. [Sonlar](./02.Numbers/Numbers.md)
3. [Searching Algorithms](./03.Searching%20Algorithms/Searching%20Algorithms.md)
4. [Sorting Algorithms](./04.Sorting%20Algorithms/Sorting%20Algorithms.md)
5. [Data Structures](./05.Data%20Structures/Data%20Structures.md)
6. [Linked List](./06.Linked%20List/Linked%20List.md)
7. [Tree](./07.Tree/Tree.md)
8. [Graph](./08.Graph/Graph.md)
9. [Greedy Algorithms](./09.Greedy%20Algorithms/Greedy%20Algorithms.md)
10. [Dynamic Programming](./10.Dynamic%20Programming/Dynamic%20Programming.md)
11. [Other Algorithms](./11.Other%20Algorithms/Other%20Algorithms.md)

> Proyektni contribute qilmoqchi bo'lsangiz, siz uchun doimo pull-request eshiklarimiz ochiq 😉
31 changes: 0 additions & 31 deletions bubble_sort/README.md

This file was deleted.

7 changes: 0 additions & 7 deletions merge_sort/Cargo.lock

This file was deleted.

8 changes: 0 additions & 8 deletions merge_sort/Cargo.toml

This file was deleted.

75 changes: 0 additions & 75 deletions quick-sort/Cargo.lock

This file was deleted.

9 changes: 0 additions & 9 deletions quick-sort/Cargo.toml

This file was deleted.

8 changes: 0 additions & 8 deletions search-algorithms/binary-search/Cargo.toml

This file was deleted.

8 changes: 0 additions & 8 deletions search-algorithms/linear-search/Cargo.toml

This file was deleted.

7 changes: 0 additions & 7 deletions selection-sort/Cargo.lock

This file was deleted.

8 changes: 0 additions & 8 deletions selection-sort/Cargo.toml

This file was deleted.

6 changes: 0 additions & 6 deletions selection-sort/README.md

This file was deleted.