-
Arrays: Linear data structure with a fixed size, allowing random access to elements.
- Best for: Static datasets with frequent element access.
- Complexity:
- Access: O(1)
- Search: O(n)
- Insertion/Deletion: O(n) Array
-
Linked Lists: Linear structure of nodes, where each node points to the next.
- Types: Singly, Doubly, Circular.
- Best for: Dynamic datasets with frequent insertions/deletions.
- Complexity:
- Access/Search: O(n)
- Insertion/Deletion: O(1) (at head/tail with pointer)
-
Hash Maps (or Hash Tables): Key-value pair storage with a hash function.
Array
1. Sorting Algorithms
Sorting arranges elements in a specific order (ascending or descending).
- Bubble Sort – Repeatedly swaps adjacent elements if they are in the wrong order.
- Selection Sort – Selects the smallest/largest element and places it in order.
- Insertion Sort – Builds the sorted array one element at a time.
- Merge Sort – Uses the divide-and-conquer technique to sort.
- Quick Sort – Selects a pivot and partitions elements around it.
- Heap Sort – Uses a binary heap to sort efficiently.
- Radix Sort – Sorts numbers digit by digit.
- Counting Sort – Counts occurrences of elements (used for small range values).
- Sorting
2. Searching Algorithms
Used to find an element in an array.
Searching
1. Linear Search
- Approach: Sequentially checks each element in the array.
- Time Complexity:
- Best: O(1)
- Worst: O(n)
- Average: O(n)
- Space Complexity: O(1)
2. Binary Search (For Sorted Arrays Only)
- Approach: Repeatedly divides the array in half and searches in the relevant half.
- Time Complexity:
- Best: O(1)
- Worst: O(log n)
- Average: O(log n)
- Space Complexity:
- O(1) (Iterative)
- O(log n) (Recursive, due to function call stack)
3. Jump Search (For Sorted Arrays)
- Approach: Jumps ahead by a block size (√n) and does a linear search within that block.
- Time Complexity:
- Best: O(1)
- Worst: O(√n)
- Average: O(√n)
- Space Complexity: O(1)
4. Interpolation Search (For Uniformly Distributed Sorted Data)
Approach: Uses the formula to estimate the probable position of the target. $$ pos=left+ \frac {(target−arr[left])×(right−left)}{(arr[right]−arr[left])} $$
Sorting
Sort
1. Comparison-Based Sorting
These algorithms compare elements to determine their order.
a. Bubble Sort
- Repeatedly swaps adjacent elements if they are in the wrong order.
- Time Complexity: O(n²)
- Space Complexity: O(1)
b. Selection Sort
- Finds the smallest element and places it in the correct position.
- Time Complexity: O(n²)
- Space Complexity: O(1)
c. Insertion Sort
- Picks one element at a time and places it in its correct position.
- Time Complexity: O(n²)
- Space Complexity: O(1)
- Efficient for small or nearly sorted data.
d. Merge Sort (Divide and Conquer)
- Divides the array into halves, sorts them, and merges them.
- Time Complexity: O(n log n)
- Space Complexity: O(n)
e. Quick Sort (Divide and Conquer)
- Picks a pivot, partitions the array, and sorts recursively.
- Time Complexity: O(n log n) (Best & Avg), O(n²) (Worst)
- Space Complexity: O(log n) (due to recursion)
f. Heap Sort
- Converts the array into a heap and extracts elements in order.
- Time Complexity: O(n log n)
- Space Complexity: O(1)
g. Shell Sort
- Variation of insertion sort that sorts elements at a gap.
- Time Complexity: O(n log n) (Best), O(n²) (Worst)
- Space Complexity: O(1)
2. Non-Comparison-Based Sorting
These algorithms do not compare elements directly.
My Road map for cyber security
Month 1-3: Foundations
Networking Fundamentals
- Learn TCP/IP, OSI model, and common protocols
- Study network topologies and architecture
- Practice with tools like Wireshark for packet analysis
Linux Essentials
- Install a Linux distribution (e.g., Ubuntu or Kali Linux)
- Master basic command-line operations
- Learn file system structure and permissions
Programming Basics
- Start with Python for cybersecurity
- Learn basic scripting for automation
- Practice with simple security-related coding projects
Month 4-6: Core Security Concepts
Information Security Principles
- Study CIA triad (Confidentiality, Integrity, Availability)
- Learn about access control models and authentication methods
- Understand basic cryptography concepts
Web Application Security
- Learn common web vulnerabilities (e.g., OWASP Top 10)
- Practice identifying and exploiting basic web app flaws
- Study secure coding practices
Network Security
- Understand firewalls, IDS/IPS, and VPNs
- Learn about common network attacks and defenses
- Practice configuring basic network security tools
Month 7-9: Specialization and Practical Skills
Ethical Hacking Basics
- Study penetration testing methodologies
- Learn about reconnaissance and scanning techniques
- Practice with vulnerable virtual machines (e.g., DVWA, Metasploitable)
Incident Response and Forensics
- Understand the incident response lifecycle
- Learn basic digital forensics techniques
- Practice with forensic tools like Autopsy or EnCase
Cloud Security
- Study cloud service models (IaaS, PaaS, SaaS)
- Learn about shared responsibility models
- Practice securing cloud environments (e.g., AWS, Azure)
Month 10-12: Advanced Topics and Career Preparation
Threat Intelligence
- Learn about threat actors and their motivations
- Study threat intelligence platforms and feeds
- Practice creating threat intelligence reports
Governance, Risk, and Compliance
- Understand common security frameworks (e.g., NIST, ISO 27001)
- Learn about risk assessment methodologies
- Study relevant regulations (e.g., GDPR, HIPAA)
Career Development
- Build a professional network (join cybersecurity communities, attend webinars)
- Create a portfolio of projects and write-ups
- Prepare for entry-level cybersecurity certifications (e.g., CompTIA Security+)
Throughout the year:
Network
What is computer networking?
Networking, or computer networking, is the process of connecting two or more computing devices, such as desktop computers, mobile devices, routers or applications, to enable the transmission and exchange of information and resources.
Networked devices rely on communications protocols—rules that describe how to transmit or exchange data across a network—to share information over physical or wireless connections.
Key networking components and devices
Before we delve into more complex networking topics, it’s important to understand fundamental networking components, including:
Cyber Security
Hi guys lets Start our cyber security journey is From today
In this Journey we are going to learn about the fundamentals of cyber security
- Programming for Cybersecurity
- Cybersecurity Basics
- Networking Fundamentals
- Operating Systems Security
- Cryptography
- Penetration Testing
I am thing of starting form c and c++ as they are low level languages and help me with my college also and in cyberspace also.
I am thing of complete the basic in 12 Months so that i can get some internship and grow my self.
Lets start this Journey of mine form 1 Jan 2025 This is my new Year Resolution that I will Cyber Security internship by the end of this year.
I am think of Posting my work weekly here as i know no body is reading this this but it helps me feel motivated to do the work
Thanks
My First blog
This is my First blog to help me log my life throughout my college life
So lets being
fuck you