Skip to content

Deekshith08/Week3-Data-Structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 

Repository files navigation

Week 3: Data Structures in Java

Welcome to the repository for Week 3 of our Java learning path. This week was focused on exploring essential *data structures, **search/sort algorithms, and *runtime analysisโ€”all of which are critical to writing efficient Java programs.


๐Ÿ“… Schedule & Submissions

Day Topic Status Submission Title Notes
01 Data Structures Introduction & LinkedList โœ… Completed 01 - Submission of Data Structure - LinkedList No due date
02 Stack, Queue, HashMap, and Hashing Function โœ… Completed 02 - Submission of Stack, Queue, HashMap and Hashing Function No due date
03 Sorting Algorithms โœ… Completed 03 - Submission of Sorting Algorithms No due date
04-05 Linear Search, Binary Search, StringBuilder, StringBuffer, BufferedReader, FileReader, InputStreamReader โœ… Completed 04 and 05 - Submission of Linear and Binary Search No due date
06 Algorithm Runtime Analysis & Big-O Notation โœ… Completed 06 - Submission of Algorithm's Runtime Analysis No due date

๐Ÿ“š Table of Contents


๐Ÿ“ Overview

Week 3 was designed to build proficiency in managing and manipulating data using foundational data structures such as LinkedLists, Stacks, Queues, and HashMaps. We also explored searching and sorting techniques and learned how to evaluate algorithm efficiency using Big-O notation. This week's lessons were essential for building performance-aware Java applications.


๐Ÿง  Topics Covered

Day 1: LinkedList and Introduction to Data Structures

  • What are Data Structures?
  • Introduction to LinkedLists
  • Singly vs. Doubly LinkedLists
  • Traversing, inserting, and deleting nodes

Day 2: Stack, Queue, and HashMap

  • Understanding LIFO (Stack) and FIFO (Queue)
  • Stack operations using Java's Stack class
  • Queue operations using LinkedList or Queue interface
  • Introduction to HashMap and hashing functions
  • Basic operations: put(), get(), remove()

Day 3: Sorting Algorithms

  • Bubble Sort, Selection Sort, Insertion Sort
  • Time and space complexity
  • When and why to use each sorting technique

Day 4-5: Search Techniques and Java I/O Classes

  • Linear Search vs. Binary Search
  • Binary Search prerequisites (sorted data)
  • StringBuilder vs. StringBuffer
  • Java I/O: BufferedReader, FileReader, InputStreamReader
  • Efficient string and file manipulation

Day 6: Algorithm Analysis

  • Introduction to Big-O notation
  • Analyzing time and space complexity
  • Best, worst, and average case scenarios
  • Comparing algorithm efficiency

๐Ÿš€ How to Use This Repository

This repository contains folders and files categorized by each day's topic. Each folder may include:

  • Lecture notes or summaries
  • Code implementations of data structures and algorithms
  • Lab solutions and assignments

Feel free to explore, run, and modify the code for deeper understanding and practice.


Happy Coding! ๐Ÿงฎ๐Ÿ“Š๐Ÿ“‚

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published