Programming Resources | Python | Javascript | Artificial Intelligence Updates | Computer Science Courses | AI Books
Everything about programming for beginners * Python programming * Java programming * App development * Machine Learning * Data Science Managed by: @love_data
Ko'proq ko'rsatish๐ Telegram kanali Programming Resources | Python | Javascript | Artificial Intelligence Updates | Computer Science Courses | AI Books analitikasi
Programming Resources | Python | Javascript | Artificial Intelligence Updates | Computer Science Courses | AI Books (@programming_guide) Ingliz til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 56 111 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 2 368-o'rinni va Hindiston mintaqasida 6 556-o'rinni egallagan.
๐ Auditoriya koโrsatkichlari va dinamika
ะฝะตะฒัะดะพะผะพ sanasidan buyon loyiha tez oโsib, 56 111 obunachiga ega boโldi.
08 Iyun, 2026 dagi oxirgi maโlumotlarga koโra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 104 ga, soโnggi 24 soatda esa -6 ga oโzgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya oโrtacha 2.58% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 0.84% ini tashkil etuvchi reaksiyalarni toโplaydi.
- Post qamrovi: Har bir post oโrtacha 1 450 marta koโriladi; birinchi sutkada odatda 471 ta koโrish yigโiladi.
- Reaksiyalar va oโzaro taโsir: Auditoriya faol: har bir postga oโrtacha 3 ta reaksiya keladi.
- Tematik yoโnalishlar: Kontent algorithm, structure, stack, javascript, programming kabi asosiy mavzularga jamlangan.
๐ Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida taโriflaydi:
โEverything about programming for beginners
* Python programming
* Java programming
* App development
* Machine Learning
* Data Science
Managed by: @love_dataโ
Yuqori yangilanish chastotasi (oxirgi maโlumot 09 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli boโlib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim taโsir nuqtasiga aylantirishini koโrsatadi.
class Node:
def __init__(self, data):
self.data = data
self.next = None
Java
class Node {
int data;
Node next;
Node(int data) {
this.data = data;
this.next = null;
}
}
C++
struct Node {
int data;
Node* next;
Node(int data): data(data), next(nullptr) {}
};
3๏ธโฃ Insert at Head (Singly)
Python
def insert_head(head, data):
new_node = Node(data)
new_node.next = head
return new_node
Java
Node insertHead(Node head, int data) {
Node newNode = new Node(data);
newNode.next = head;
return newNode;
}
C++
Node* insertHead(Node* head, int data) {
Node* newNode = new Node(data);
newNode->next = head;
return newNode;
}
4๏ธโฃ Doubly Linked List โ Bi-directional Pointers
Python
class DNode:
def __init__(self, data):
self.data = data
self.prev = None
self.next = None
Java
class DNode {
int data;
DNode prev, next;
DNode(int data) {
this.data = data;
}
}
C++
struct DNode {
int data;
DNode* prev;
DNode* next;
DNode(int data): data(data), prev(nullptr), next(nullptr) {}
};
5๏ธโฃ Insert at Head (Doubly)
Python
def insert_head(head, data):
new_node = DNode(data)
new_node.next = head
if head:
head.prev = new_node
return new_node
Java
DNode insertHead(DNode head, int data) {
DNode newNode = new DNode(data);
newNode.next = head;
if (head != null) head.prev = newNode;
return newNode;
}
C++
DNode* insertHead(DNode* head, int data) {
DNode* newNode = new DNode(data);
newNode->next = head;
if (head) head->prev = newNode;
return newNode;
}
6๏ธโฃ Reversing a Singly Linked List
Python
def reverse_list(head):
prev = None
current = head
while current:
next_node = current.next
current.next = prev
prev = current
current = next_node
return prev
Java
Node reverseList(Node head) {
Node prev = null, current = head;
while (current != null) {
Node next = current.next;
current.next = prev;
prev = current;
current = next;
}
return prev;
}
C++
Node* reverseList(Node* head) {
Node* prev = nullptr;
Node* current = head;
while (current) {
Node* next = current->next;
current->next = prev;
prev = current;
current = next;
}
return prev;
}
7๏ธโฃ Why Use Linked Lists?
โ
Dynamic memory allocation
โ
Efficient insert/delete (O(1) at head/tail)
โ Slower access (O(n) for random access)
โ
Great for implementing stacks, queues, hash maps, etc.
8๏ธโฃ Practice Tasks
โ
Implement singly linked list with insert/delete
โ
Implement doubly linked list with insert at tail
โ
Reverse a singly linked lists = "hello"
print(s[1]) # Output: 'e'
C++ Example:string s = "hello";
cout << s[1]; // Output: 'e'
Java Example:String s = "hello";
System.out.println(s.charAt(1)); // Output: 'e'
2๏ธโฃ Common String Operations:
โข Concatenation
โข Substring
โข Comparison
โข Reversal
โข Search
โข Replace
Python โ Reversal:s = "hello"
print(s[::-1]) # Output: 'olleh'
C++ โ Substring:string s = "hello";
cout << s.substr(1, 3); // Output: 'ell'
Java โ Replace:String s = "hello";
System.out.println(s.replace("l", "x")); // Output: 'hexxo'
3๏ธโฃ Pattern Matching โ Naive vs Efficient
Naive Approach: Check every substring
Efficient: Use hashing or KMP (Knuth-Morris-Pratt)
Python โ Naive Pattern Search:def search(text, pattern):
for i in range(len(text) - len(pattern) + 1):
if text[i:i+len(pattern)] == pattern:
print(f"Found at index {i}")
search("abracadabra", "abra") # Output: Found at index 0, 7
4๏ธโฃ Hashing for Fast Lookup
Use hash maps to store character counts, frequencies, or indices.
Python โ First Unique Character:from collections import Counter
def first_unique_char(s):
count = Counter(s)
for i, ch in enumerate(s):
if count[ch] == 1:
return i
return -1
print(first_unique_char("leetcode")) # Output: 0
5๏ธโฃ Two Pointers Technique
Used for problems like palindromes, anagrams, or substring windows.
Python โ Valid Palindrome:def is_palindrome(s):
s = ''.join(filter(str.isalnum, s)).lower()
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
print(is_palindrome("A man, a plan, a canal: Panama")) # Output: True
6๏ธโฃ Practice Tasks:
โ
Implement pattern search (naive)
โ
Find first non-repeating character
โ
Check if a string is a palindrome
โ
Use two pointers to reverse vowels in a string
โ
Try Rabin-Karp or KMP for pattern matching
๐ฌ Double Tap โค๏ธ for Part-5arr = [10, 20, 30, 40]
print(arr[2]) # Output: 30
C++ Example:
int arr[] = {10, 20, 30, 40};
cout << arr[2]; // Output: 30
Java Example:
int[] arr = {10, 20, 30, 40};
System.out.println(arr[2]); // Output: 30
2๏ธโฃ Basic Array Operations:
โข Insert
โข Delete
โข Traverse
โข Search
โข Update
Python โ Traversal:
for i in arr:
print(i)
C++ โ Search:
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
// Found
}
}
Java โ Update:
arr[1] = 99; // Updates second element
3๏ธโฃ Sliding Window Technique ๐ช
Used to reduce time complexity in problems involving subarrays or substrings.
โถ๏ธ Fixed-size window:
Find max sum of subarray of size k
โถ๏ธ Variable-size window:
Find longest substring with unique characters
4๏ธโฃ Sliding Window โ Max Sum Subarray (Size k)
Python:
def max_sum(arr, k):
window_sum = sum(arr[:k])
max_sum = window_sum
for i in range(k, len(arr)):
window_sum += arr[i] - arr[i - k]
max_sum = max(max_sum, window_sum)
return max_sum
print(max_sum([1, 4, 2, 10, 2, 3], 3)) # Output: 16
5๏ธโฃ Practice Tasks:
โ
Find the second largest element in an array
โ
Implement sliding window to find max sum subarray
โ
Try variable-size window: longest substring without repeating characters
๐ Solution for Practice Tasks
โ
1. Find the Second Largest Element in an Array
Python:
def second_largest(arr):
first = second = float('-inf')
for num in arr:
if num > first:
second = first
first = num
elif first > num > second:
second = num
return second if second != float('-inf') else None
print(second_largest([10, 20, 4, 45, 99])) # Output: 45
โ
2. Max Sum Subarray (Fixed-size Sliding Window)
Python:
def max_sum(arr, k):
window_sum = sum(arr[:k])
max_sum = window_sum
for i in range(k, len(arr)):
window_sum += arr[i] - arr[i - k]
max_sum = max(max_sum, window_sum)
return max_sum
print(max_sum([1, 4, 2, 10, 2, 3, 1, 0, 20], 4)) # Output: 24
โ
3. Longest Substring Without Repeating Characters (Variable-size Sliding Window)
Python:
def longest_unique_substring(s):
seen = {}
left = max_len = 0
for right in range(len(s)):
if s[right] in seen and seen[s[right]] >= left:
left = seen[s[right]] + 1
seen[s[right]] = right
max_len = max(max_len, right - left + 1)
return max_len
print(longest_unique_substring("abcabcbb")) # Output: 3 ("abc")
Double Tap โฅ๏ธ For Part-4def countdown(n):
if n == 0:
print("Done!")
return
print(n)
countdown(n - 1)
โถ๏ธ Counts down from n to 0
2๏ธโฃ Key Parts of Recursion:
โข Base case โ Stops recursion
โข Recursive case โ Function calls itself
Java Example โ Factorial:
int factorial(int n) {
if (n == 0) return 1;
return n * factorial(n - 1);
}
C++ Example โ Sum of Array:
int sum(int arr[], int n) {
if (n == 0) return 0;
return arr[n - 1] + sum(arr, n - 1);
}
3๏ธโฃ Why Use Recursion?
โข Breaks complex problems into simpler ones
โข Great for trees, graphs, backtracking, divide conquer
4๏ธโฃ When Not to Use It?
โข Large inputs can cause stack overflow
โข Use loops if recursion is too deep or inefficient
5๏ธโฃ Practice Task:
โ
Write a recursive function to calculate power (a^b)
โ
Write a function to reverse a string recursively
โ
Try basic Fibonacci using recursion
๐ Solution for Practice Task
โ
1. Recursive Power Function (a^b)
Python:
def power(a, b):
if b == 0:
return 1
return a * power(a, b - 1)
print(power(2, 3)) # Output: 8
C++:
int power(int a, int b) {
if (b == 0) return 1;
return a * power(a, b - 1);
}
// Example: cout << power(2, 3); // Output: 8
Java:
int power(int a, int b) {
if (b == 0) return 1;
return a * power(a, b - 1);
}
// Example: System.out.println(power(2, 3)); // Output: 8
โ
2. Reverse String Recursively
Python:
def reverse(s):
if len(s) == 0:
return ""
return reverse(s[1:]) + s[0]
print(reverse("hello")) # Output: "olleh"
C++:
string reverse(string s) {
if (s.length() == 0) return "";
return reverse(s.substr(1)) + s[0];
}
// Example: cout << reverse("hello"); // Output: "olleh"
Java:
String reverse(String s) {
if (s.isEmpty()) return "";
return reverse(s.substring(1)) + s.charAt(0);
}
// Example: System.out.println(reverse("hello")); // Output: "olleh"
โ
3. Fibonacci Using Recursion
Python:
def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)
print(fib(6)) # Output: 8
C++:
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
// Example: cout << fib(6); // Output: 8
Java:
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
// Example: System.out.println(fib(6)); // Output: 8
*Double Tap โฅ๏ธ For More*for i in range(n):
print(i)
Runs n times โ O(n) time
Example (Java):for (int i = 0; i < n; i++) {
System.out.println(i);
}
Example (C++):for (int i = 0; i < n; i++) {
cout << i << endl;
}
2๏ธโฃ Common Time Complexities (Best to Worst):
O(1) โ Constant (e.g., array access)
O(log n) โ Logarithmic (e.g., binary search)
O(n) โ Linear (e.g., single loop)
O(n log n) โ Efficient sorting (e.g., merge sort)
O(nยฒ) โ Quadratic (e.g., nested loops)
O(2โฟ), O(n!) โ Very slow (e.g., recursive brute force)
3๏ธโฃ What is Space Complexity?
It tells us how much extra memory your code uses depending on input size.
Example:arr = [0] * n # O(n) space
If no extra structures are used โ O(1) space
4๏ธโฃ Why It Matters
โข Handles large inputs without crashing
โข Crucial in coding interviews
โข Essential for scalable systems
5๏ธโฃ Practice Task โ Guess the Complexity
a) Nested loopfor (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.println(i + ", " + j);
}
}
// O(nยฒ)
b) Binary searchwhile (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == target) break;
}
// O(log n)
c) Recursive Fibonaccidef fib(n):
if n <= 1:
return n
return fib(n-1) + fib(n-2)
// O(2^n)
Takeaway:
Always analyze two things before solving any problem:
โ How many steps will this take? (Time)
โ How much memory does it use? (Space)
๐ฌ Tap โค๏ธ for moreโถ๏ธ Creating and modifying arrays; โถ๏ธ Mathematical operations; โถ๏ธ Working with matrices and vectors; โถ๏ธ Sorting and searching for values.Save it for yourself โ it will come in handy when working with NumPy. tags: #NumPy #Python โก @DataScienceM
var, let, or const.
let name = "John";
const age = 30;
โข Data Types: Includes:
โ Primitive Types: Number, String, Boolean, Null, Undefined, Symbol (ES6).
โ Reference Types: Objects, Arrays, Functions.
โข Functions: Blocks of code designed to perform a particular task.
function greet() {
console.log("Hello, World!");
}
โข Control Structures: Includes conditional statements (if, else, switch) and loops (for, while).
โ4. Working with the DOM
JavaScript can manipulate the Document Object Model (DOM), allowing developers to change the document structure, style, and content.
document.getElementById("myElement").innerHTML = "New Content";
โ5. JavaScript Frameworks and Libraries
โข Frameworks: Provide a structure for building applications (e.g., Angular, Vue.js).
โข Libraries: Simplify specific tasks (e.g., jQuery for DOM manipulation, D3.js for data visualization).
โ6. Asynchronous JavaScript
JavaScript supports asynchronous programming through:
โข Callbacks: Functions passed as arguments to other functions.
โข Promises: Objects representing the eventual completion (or failure) of an asynchronous operation.
โข Async/Await: Syntactic sugar over promises that makes asynchronous code easier to read.
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}
โ7. Error Handling
JavaScript uses try, catch, and finally blocks to handle errors gracefully.
try {
// Code that may throw an error
} catch (error) {
console.error("An error occurred:", error);
} finally {
// Code that runs regardless of success or failure
}
โ8. Modern JavaScript (ES6 and Beyond)
ES6 (ECMAScript 2015) introduced many new features:
โข Arrow Functions:
const add = (a, b) => a + b;
โข Template Literals:
const greeting = Hello, ${name}!;
โข Destructuring:
const person = { name: "Alice", age: 25 };
const { name, age } = person;
โ9. Resources for Learning JavaScript
โข Online Courses: Codecademy, freeCodeCamp, Udemy.
โข Books: "You Donโt Know JS" series by Kyle Simpson, "Eloquent JavaScript" by Marijn Haverbeke.
โข Documentation: MDN Web Docs (Mozilla Developer Network) is an excellent resource for JavaScript documentation.
โ10. Best Practices
โข Write clean and readable code.
โข Use meaningful variable and function names.
โข Comment your code appropriately.
โข Keep functions small and focused on a single task.
โข Use version control (e.g., Git) for managing changes.
Endi mavjud! Telegram Tadqiqoti 2025 โ yilning asosiy insaytlari 
