My QA Projects

QA Projects I was involded.

View on GitHub

Algos

1. Sorting

3. Graph

4. Dynamic Programming (Dynamic)

5. Tree

6. String

7. Math

8. Numerical


Usage in Algorithms

1. Lists

Characteristics

  • Ordered and mutable.
  • Can contain elements of different data types.
  • Support indexing, slicing, and various methods like append(), extend(), insert(), remove(), pop(), sort(), and reverse().

Use Cases:

  • General-purpose data storage.
  • Dynamic arrays for algorithms that require frequent insertion, deletion, or iteration.
my_list = [1, 2, 3, 4, 5]
my_list.append(6)
print(my_list)  # Output: [1, 2, 3, 4, 5, 6]

2. Tuples

Characteristics:

  • Ordered and immutable.
  • Can contain elements of different data types.
  • Support indexing and slicing but do not have methods that modify the tuple.

Use Cases:

  • Storing fixed collections of items.
  • Returning multiple values from a function.
my_tuple = (1, 2, 3)
print(my_tuple[0])  # Output: 1

3. Strings

Characteristics:

Use Cases:

my_string = "hello"
print(my_string.upper())  # Output: "HELLO"

4. Sets

Characteristics:

Use Cases:

my_set = {1, 2, 3, 4}
my_set.add(5)
print(my_set)  # Output: {1, 2, 3, 4, 5}

5. Dictionaries

Characteristics:

Use Cases:

my_dict = {"name": "Alice", "age": 25}
print(my_dict["name"])  # Output: "Alice"

6. Ranges

Characteristics:

Use Cases:

for i in range(5):
    print(i)  # Output: 0 1 2 3 4

Learning Order Recommendation:

  1. Sorting and Search: Start with basic sorting algorithms (e.g., Bubble Sort, Insertion Sort) and Binary Search, as they provide foundational understanding of algorithms and data structures.

  2. Graph and Tree: Move on to graph traversal (DFS, BFS) and tree operations (BST) to understand hierarchical data structures and graph theory basics.

  3. Dynamic Programming: Once comfortable with basic algorithms, delve into Dynamic Programming for optimizing solutions to problems with overlapping subproblems.

  4. String, Math, and Numerical: Explore string manipulation algorithms, basic math operations, and numerical methods based on specific interests or application domains.