mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-09-01 15:02:09 +08:00
feat(curriculum): adding dsa course to catalog (#65870)
Co-authored-by: majestic-owl448 <26656284+majestic-owl448@users.noreply.github.com>
This commit is contained in:
@@ -1002,6 +1002,80 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"introduction-to-algorithms-and-data-structures": {
|
||||
"title": "Introduction to Algorithms and Data Structures",
|
||||
"summary": [
|
||||
"Learn about common algorithms and data structures in this introductory course."
|
||||
],
|
||||
"intro": [
|
||||
"Algorithms and Data Structures are the backbone of programming. So it's important to learn how to work with them.",
|
||||
"In this comprehensive course, you will learn about common sorting and searching algorithms including merge sort, quicksort and binary search.",
|
||||
"You will also learn how to work with common data structures including arrays and linked lists."
|
||||
],
|
||||
"note": "",
|
||||
"blocks": {
|
||||
"intro-dsa-searching-algorithms": {
|
||||
"title": "Searching Algorithms",
|
||||
"intro": [
|
||||
"In these videos, you will learn what an algorithm is and learn how to work with the binary search and linear search algorithms."
|
||||
]
|
||||
},
|
||||
"intro-dsa-time-complexity": {
|
||||
"title": "Time Complexity",
|
||||
"intro": [
|
||||
"In these videos, you will learn about time complexity and how it works with measuring efficiency of algorithms."
|
||||
]
|
||||
},
|
||||
"intro-dsa-algorithms-in-code": {
|
||||
"title": "Algorithms in Code",
|
||||
"intro": [
|
||||
"In these videos, you will write Python code for the linear and binary search algorithms."
|
||||
]
|
||||
},
|
||||
"intro-dsa-recursion-and-space-complexity": {
|
||||
"title": "Recursion and Space Complexity",
|
||||
"intro": [
|
||||
"In these videos, you will learn about recursion and space complexity for algorithms."
|
||||
]
|
||||
},
|
||||
"intro-dsa-arrays": {
|
||||
"title": "Introduction to Arrays",
|
||||
"intro": [
|
||||
"In these videos, you will learn how to work with arrays. You will learn about different operations including insert, delete and search."
|
||||
]
|
||||
},
|
||||
"intro-dsa-linked-lists": {
|
||||
"title": "Introduction to Linked Lists",
|
||||
"intro": [
|
||||
"In these videos, you will learn about linked lists. You will learn how to add nodes to a list as well as remove and search a list."
|
||||
]
|
||||
},
|
||||
"intro-dsa-merge-sort": {
|
||||
"title": "The Merge Sort Algorithm",
|
||||
"intro": [
|
||||
"In these videos, you will learn about the merge sort algorithm."
|
||||
]
|
||||
},
|
||||
"intro-dsa-sorting-linked-lists": {
|
||||
"title": "Sorting a Linked List",
|
||||
"intro": [
|
||||
"In these videos, you will learn more about how to sort linked lists."
|
||||
]
|
||||
},
|
||||
"intro-dsa-sorting-algorithms": {
|
||||
"title": "Sorting Algorithms",
|
||||
"intro": [
|
||||
"In these videos, you will learn about common sorting algorithms including selection sort and quicksort."
|
||||
]
|
||||
},
|
||||
"intro-dsa-sorting-searching-algorithms": {
|
||||
"title": "Searching Names using Sorting and Searching Algorithms",
|
||||
"intro": [
|
||||
"In these videos, you will practice searching for names using the binary and linear search algorithms and comparing the runtimes for them."
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"information-security": {
|
||||
"title": "Information Security",
|
||||
"intro": [
|
||||
|
||||
@@ -1274,6 +1274,7 @@
|
||||
"foundational-c-sharp-with-microsoft": "Foundational C# with Microsoft",
|
||||
"foundational-c-sharp-with-microsoft-cert": "Foundational C# with Microsoft Certification",
|
||||
"learn-python-for-beginners": "Learn Python for Beginners",
|
||||
"introduction-to-algorithms-and-data-structures": "Introduction to Algorithms and Data Structures",
|
||||
"a2-english-for-developers": "A2 English for Developers",
|
||||
"a2-english-for-developers-cert": "A2 English for Developers Certification (Beta)",
|
||||
"b1-english-for-developers": "B1 English for Developers",
|
||||
@@ -1460,7 +1461,8 @@
|
||||
"d3": "D3",
|
||||
"api": "APIs",
|
||||
"information-security": "Information Security",
|
||||
"computer-fundamentals": "Computer Fundamentals"
|
||||
"computer-fundamentals": "Computer Fundamentals",
|
||||
"computer-science": "Computer Science"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,6 +81,7 @@ const iconMap = {
|
||||
[SuperBlocks.LabProductLandingPage]: Code,
|
||||
[SuperBlocks.CssAnimations]: Code,
|
||||
[SuperBlocks.LearnPythonForBeginners]: PythonIcon,
|
||||
[SuperBlocks.IntroductionToAlgorithmsAndDataStructures]: Code,
|
||||
[SuperBlocks.RespWebDesignV9]: ResponsiveDesign,
|
||||
[SuperBlocks.JsV9]: JavaScriptIcon,
|
||||
[SuperBlocks.FrontEndDevLibsV9]: ReactIcon,
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Introduction to Algorithms and Data Structures
|
||||
superBlock: introduction-to-algorithms-and-data-structures
|
||||
certification: introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
## Introduction to Algorithms and Data Structures
|
||||
|
||||
Algorithms and Data Structures are the backbone of programming. So it's important to learn how to work with them.
|
||||
|
||||
In this comprehensive course, you will learn about common sorting and searching algorithms including merge sort, quicksort and binary search.
|
||||
|
||||
You will also learn how to work with common data structures including arrays and linked lists.
|
||||
@@ -46,6 +46,7 @@
|
||||
}
|
||||
|
||||
.block-label-javascript,
|
||||
.block-label-computer-science,
|
||||
.block-label-review {
|
||||
border-color: var(--purple-color);
|
||||
color: var(--purple-color);
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dcc2c7932b3cc4b19c927
|
||||
title: Binary Search in Code
|
||||
challengeType: 11
|
||||
videoId: mg7F5D8Wk5o
|
||||
dashedName: binary-search-in-code-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will code out the binary search algorithm using Python.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Why was the `while first <= last:` condition used in the solution?
|
||||
|
||||
## --answers--
|
||||
|
||||
To ensure only the first half of the array is ever checked.
|
||||
|
||||
---
|
||||
|
||||
To make the loop run forever until manually stopped.
|
||||
|
||||
---
|
||||
|
||||
To skip checking the last element in the search range.
|
||||
|
||||
---
|
||||
|
||||
To keep searching while there are still elements in the range and stop when the range is empty.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
---
|
||||
id: 698dca057932b3cc4b19c926
|
||||
title: Linear Search in Code
|
||||
challengeType: 11
|
||||
videoId: bKkgjdPkL3A
|
||||
dashedName: linear-search-in-code-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will code out the linear search algorithm using Python.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which of the following is the correct way to write a linear search function?
|
||||
|
||||
## --answers--
|
||||
|
||||
```python
|
||||
def linear_search(list, target):
|
||||
for i in range(len(list) - 1):
|
||||
if list[i] == target:
|
||||
return i
|
||||
return -1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
def linear_search(list, target):
|
||||
for i in range(len(list)):
|
||||
if i == target:
|
||||
return i
|
||||
return -1
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
def linear_search(list, target):
|
||||
for i in range(len(list)):
|
||||
if list[i] == target:
|
||||
return i
|
||||
else:
|
||||
return -1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
def linear_search(list, target):
|
||||
for i in range(len(list)):
|
||||
if list[i] == target:
|
||||
return i
|
||||
return None
|
||||
```
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dce727932b3cc4b19c928
|
||||
title: Recursive Binary Search
|
||||
challengeType: 11
|
||||
videoId: RQNBzDoG_gA
|
||||
dashedName: recursive-binary-search-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to create a recursive solution for binary search.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is a recursive function?
|
||||
|
||||
## --answers--
|
||||
|
||||
A function that performs a calculation only once.
|
||||
|
||||
---
|
||||
|
||||
A function that calls itself.
|
||||
|
||||
---
|
||||
|
||||
A function that never returns a value.
|
||||
|
||||
---
|
||||
|
||||
A function that can only run in a loop.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
---
|
||||
id: 698dd3ea7932b3cc4b19c92e
|
||||
title: Accessing a Value in an Array
|
||||
challengeType: 11
|
||||
videoId: yN6_wlaNvHo
|
||||
dashedName: accessing-array-values-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to access elements from an array.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which of the following is the correct way to access the first element from a Python list?
|
||||
|
||||
## --answers--
|
||||
|
||||
```python
|
||||
new_list = [9, 6, 3]
|
||||
new_list[0]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
new_list = [9, 6, 3]
|
||||
new_list[1]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
new_list = [9, 6, 3]
|
||||
new_list[-1]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
new_list = [9, 6, 3]
|
||||
new_list[2]
|
||||
```
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd3547932b3cc4b19c92d
|
||||
title: Array Basics
|
||||
challengeType: 11
|
||||
videoId: G_kHMzPOwG8
|
||||
dashedName: array-basics-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about arrays.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is an array?
|
||||
|
||||
## --answers--
|
||||
|
||||
A collection of unrelated data stored randomly in memory.
|
||||
|
||||
---
|
||||
|
||||
A function that stores numbers temporarily.
|
||||
|
||||
---
|
||||
|
||||
An ordered collection of values where each element can be referenced by an index.
|
||||
|
||||
---
|
||||
|
||||
A type of loop used to iterate over numbers.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd4cd7932b3cc4b19c92f
|
||||
title: Array Search, Insert and Delete
|
||||
challengeType: 11
|
||||
videoId: QvBI-LH2OMw
|
||||
dashedName: array-search-insert-delete-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to search, insert, and delete elements from arrays.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which method is used in Python to append an item at the end of a list?
|
||||
|
||||
## --answers--
|
||||
|
||||
`place()`
|
||||
|
||||
---
|
||||
|
||||
`set()`
|
||||
|
||||
---
|
||||
|
||||
`add()`
|
||||
|
||||
---
|
||||
|
||||
`append()`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd14c7932b3cc4b19c92c
|
||||
title: Introduction to Data Structures
|
||||
challengeType: 11
|
||||
videoId: QIZSbUquPdY
|
||||
dashedName: introduction-to-data-structures-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, Treehouse instructor Pasan will talk about what to expect in the data structures portion of this course.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What are the four common operations that will be studied when working with data structures?
|
||||
|
||||
## --answers--
|
||||
|
||||
Accessing values, deleting values, traversing, and sorting.
|
||||
|
||||
---
|
||||
|
||||
Accessing values, searching, inserting values, and deleting values.
|
||||
|
||||
---
|
||||
|
||||
Searching, merging, splitting, and iterating values.
|
||||
|
||||
---
|
||||
|
||||
Inserting values, updating values, printing values, and counting elements.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd6627932b3cc4b19c931
|
||||
title: Adding Nodes to a Linked List
|
||||
challengeType: 11
|
||||
videoId: DcsHC78sfdk
|
||||
dashedName: adding-nodes-to-linked-list-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to add nodes to a linked list.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is a commonly used term for searching through a linked list?
|
||||
|
||||
## --answers--
|
||||
|
||||
scan
|
||||
|
||||
---
|
||||
|
||||
walk
|
||||
|
||||
---
|
||||
|
||||
loop
|
||||
|
||||
---
|
||||
|
||||
traverse
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd7f67932b3cc4b19c932
|
||||
title: Implementing Search
|
||||
challengeType: 11
|
||||
videoId: 2X7ysO7o-Kc
|
||||
dashedName: implementing-search-for-linked-list-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to implement a search method for linked lists in code using the Python programming language.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the worst case runtime for searching a linked list?
|
||||
|
||||
## --answers--
|
||||
|
||||
constant
|
||||
|
||||
---
|
||||
|
||||
linear
|
||||
|
||||
---
|
||||
|
||||
quadratic
|
||||
|
||||
---
|
||||
|
||||
logarithmic
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd8b47932b3cc4b19c933
|
||||
title: Inserting a Node
|
||||
challengeType: 11
|
||||
videoId: HKCIczy-v90
|
||||
dashedName: inserting-a-node-linked-list-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to insert a node in a linked list.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the runtime for inserting a node at a known position in a linked list?
|
||||
|
||||
## --answers--
|
||||
|
||||
constant time
|
||||
|
||||
---
|
||||
|
||||
linear time
|
||||
|
||||
---
|
||||
|
||||
quadratic time
|
||||
|
||||
---
|
||||
|
||||
exponential time
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd9817932b3cc4b19c934
|
||||
title: Removing a Node
|
||||
challengeType: 11
|
||||
videoId: Jlu400ceY8g
|
||||
dashedName: removing-a-node-linked-list-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to remove a node from a linked list.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the worst-case runtime for removing a node when you must first search for it in a linked list?
|
||||
|
||||
## --answers--
|
||||
|
||||
exponential
|
||||
|
||||
---
|
||||
|
||||
quadratic
|
||||
|
||||
---
|
||||
|
||||
linear
|
||||
|
||||
---
|
||||
|
||||
constant
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd5a27932b3cc4b19c930
|
||||
title: What is a Linked List?
|
||||
challengeType: 11
|
||||
videoId: rnGKSsh97q0
|
||||
dashedName: what-is-a-linked-list-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about linked lists.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the name of the node that is placed at the beginning of a linked list?
|
||||
|
||||
## --answers--
|
||||
|
||||
start
|
||||
|
||||
---
|
||||
|
||||
head
|
||||
|
||||
---
|
||||
|
||||
tail
|
||||
|
||||
---
|
||||
|
||||
foot
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de0ca7932b3cc4b19c938
|
||||
title: Ensuring the Correctness of Merge Sort
|
||||
challengeType: 11
|
||||
videoId: UHAYHvqxVKY
|
||||
dashedName: correctness-of-merge-sort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to evaluate the merge sort algorithm and determine its correctness.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What technique is used in the `verify_sorted` function?
|
||||
|
||||
## --answers--
|
||||
|
||||
recursion
|
||||
|
||||
---
|
||||
|
||||
dynamic programming
|
||||
|
||||
---
|
||||
|
||||
iteration
|
||||
|
||||
---
|
||||
|
||||
backtracking
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dda7a7932b3cc4b19c935
|
||||
title: Merge Sort
|
||||
challengeType: 11
|
||||
videoId: oqcS-Jw8JXM
|
||||
dashedName: merge-sort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about the merge sort algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What algorithmic strategy is used for the merge sort algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
Greedy
|
||||
|
||||
---
|
||||
|
||||
Dynamic Programming
|
||||
|
||||
---
|
||||
|
||||
Divide and Conquer
|
||||
|
||||
---
|
||||
|
||||
Backtracking
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698ddfc37932b3cc4b19c937
|
||||
title: Recursively Merging Sublists
|
||||
challengeType: 11
|
||||
videoId: aLZglY5hO-A
|
||||
dashedName: recursively-merging-sublists-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn more about the merge sort algorithm and see how to recursively merge sublists.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the purpose of the merge function in the merge sort algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
It combines two sorted sublists into a single sorted list.
|
||||
|
||||
---
|
||||
|
||||
It splits the list into smaller sublists.
|
||||
|
||||
---
|
||||
|
||||
It selects the largest element from the list.
|
||||
|
||||
---
|
||||
|
||||
It reverses the order of the list.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de2547932b3cc4b19c939
|
||||
title: Evaluating the Runtime of Merge Sort
|
||||
challengeType: 11
|
||||
videoId: QJoIVAzN1LM
|
||||
dashedName: runtime-of-merge-sort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about the runtimes for the merge sort algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the space complexity for merge sort?
|
||||
|
||||
## --answers--
|
||||
|
||||
exponential
|
||||
|
||||
---
|
||||
|
||||
linear
|
||||
|
||||
---
|
||||
|
||||
quadratic
|
||||
|
||||
---
|
||||
|
||||
constant
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698ddca77932b3cc4b19c936
|
||||
title: Splitting Into Sublists
|
||||
challengeType: 11
|
||||
videoId: HBzKVr-AwjQ
|
||||
dashedName: splitting-into-sublists-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn more about the merge sort algorithm and how to split a list into sublists.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What does splitting the list into sublists represent in the merge sort algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
It represents the sort step.
|
||||
|
||||
---
|
||||
|
||||
It represents the merge step.
|
||||
|
||||
---
|
||||
|
||||
It represents the conquer step.
|
||||
|
||||
---
|
||||
|
||||
It represents the divide step.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dd0707932b3cc4b19c92b
|
||||
title: Recap for Algorithms in Code
|
||||
challengeType: 11
|
||||
videoId: paBfWYrScAg
|
||||
dashedName: recap-algorithms-in-code-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will review the key concepts taught so far including algorithmic thinking, and Big O notation.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which of the following should be true when it comes to algorithms?
|
||||
|
||||
## --answers--
|
||||
|
||||
It should always use the maximum amount of memory available.
|
||||
|
||||
---
|
||||
|
||||
It should never repeat any steps, even if needed.
|
||||
|
||||
---
|
||||
|
||||
It should finish in a finite amount of time.
|
||||
|
||||
---
|
||||
|
||||
It should produce random results each time it runs.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dcf297932b3cc4b19c929
|
||||
title: Recursive Functions
|
||||
challengeType: 11
|
||||
videoId: nRK4wRqKe1k
|
||||
dashedName: recursive-functions-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about recursion.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is an important aspect that all recursive functions should have?
|
||||
|
||||
## --answers--
|
||||
|
||||
They must run in a loop indefinitely.
|
||||
|
||||
---
|
||||
|
||||
They must not use any variables.
|
||||
|
||||
---
|
||||
|
||||
A base case.
|
||||
|
||||
---
|
||||
|
||||
They must always print output.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dcfd57932b3cc4b19c92a
|
||||
title: Space Complexity
|
||||
challengeType: 11
|
||||
videoId: BFMvhQdqYgc
|
||||
dashedName: space-complexity-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about space complexity.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is space complexity?
|
||||
|
||||
## --answers--
|
||||
|
||||
The amount of memory an algorithm uses relative to the input size.
|
||||
|
||||
---
|
||||
|
||||
The amount of time an algorithm takes to run.
|
||||
|
||||
---
|
||||
|
||||
The number of CPU cores used by an algorithm.
|
||||
|
||||
---
|
||||
|
||||
The number of input elements an algorithm can process per second.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dbf2b7932b3cc4b19c91d
|
||||
title: Defining an Algorithm
|
||||
challengeType: 11
|
||||
videoId: qH-e5VMAYwQ
|
||||
dashedName: defining-an-algorithm-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about a commonly used search algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the name of the algorithm talked about in the video?
|
||||
|
||||
## --answers--
|
||||
|
||||
Optical Search
|
||||
|
||||
---
|
||||
|
||||
Linear Search
|
||||
|
||||
---
|
||||
|
||||
Linked list Search
|
||||
|
||||
---
|
||||
|
||||
Triad Search
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc20d7932b3cc4b19c91f
|
||||
title: Evaluating Binary Search
|
||||
challengeType: 11
|
||||
videoId: dnVWNeBCOEA
|
||||
dashedName: evaluating-binary-search-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn more about the binary search algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What condition needs to be true in order for binary search to work?
|
||||
|
||||
## --answers--
|
||||
|
||||
The data must contain less than 1,000 entries.
|
||||
|
||||
---
|
||||
|
||||
The data must contain more than 1,000 entries.
|
||||
|
||||
---
|
||||
|
||||
The data must be unsorted.
|
||||
|
||||
---
|
||||
|
||||
The data must be sorted.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc0277932b3cc4b19c91e
|
||||
title: Evaluating Linear Search
|
||||
challengeType: 11
|
||||
videoId: 0bipiTtnXIA
|
||||
dashedName: evaluating-linear-search-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn more about the linear search algorithm and how to evaluate its runtime.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What are the two measures of efficiency?
|
||||
|
||||
## --answers--
|
||||
|
||||
Linear and Space complexity
|
||||
|
||||
---
|
||||
|
||||
Time and Space complexity
|
||||
|
||||
---
|
||||
|
||||
Recursive and Space complexity
|
||||
|
||||
---
|
||||
|
||||
Binary and Space complexity
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dbdec7932b3cc4b19c91c
|
||||
title: Guess the Number
|
||||
challengeType: 11
|
||||
videoId: zNAzkdpIrqU
|
||||
dashedName: guess-the-number-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will see a demonstration of individuals playing a guessing game to illustrate how algorithms work.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
How many tries did it take Britney and John to guess the correct number?
|
||||
|
||||
## --answers--
|
||||
|
||||
1
|
||||
|
||||
---
|
||||
|
||||
6
|
||||
|
||||
---
|
||||
|
||||
3
|
||||
|
||||
---
|
||||
|
||||
2
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dbbcf7932b3cc4b19c91a
|
||||
title: Introduction
|
||||
challengeType: 11
|
||||
videoId: 0tlFSgUJt4Q
|
||||
dashedName: introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
Listen to Beau Carnes introduce this Algorithms and Data Structures course.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Who created this course?
|
||||
|
||||
## --answers--
|
||||
|
||||
Treehouse
|
||||
|
||||
---
|
||||
|
||||
CodeAcademy
|
||||
|
||||
---
|
||||
|
||||
Boot.dev
|
||||
|
||||
---
|
||||
|
||||
Odin Project
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dbbd47932b3cc4b19c91b
|
||||
title: What is an Algorithm?
|
||||
challengeType: 11
|
||||
videoId: FUeqQSciTNI
|
||||
dashedName: what-is-an-algorithm-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn what an algorithm is.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is an algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
A special JavaScript framework.
|
||||
|
||||
---
|
||||
|
||||
A commonly used linter.
|
||||
|
||||
---
|
||||
|
||||
A set of steps for completing a task.
|
||||
|
||||
---
|
||||
|
||||
A special type of compiler.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea167932b3cc4b19c947
|
||||
title: Actual Run Time for Sorting Algorithms
|
||||
challengeType: 11
|
||||
videoId: AcHX25M4Cvk
|
||||
dashedName: actual-runtimes-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will compare the actual runtimes for the merge sort, quicksort and selection sort algorithms.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What happened in the demo when the quicksort and merge sort algorithms were compared with a dataset of 1 million numbers?
|
||||
|
||||
## --answers--
|
||||
|
||||
Quicksort and merge sort were equal in their times.
|
||||
|
||||
---
|
||||
|
||||
Quicksort was slightly slower in sorting the numbers than merge sort.
|
||||
|
||||
---
|
||||
|
||||
Quicksort was slightly faster in sorting the numbers than merge sort.
|
||||
|
||||
---
|
||||
|
||||
Quicksort and merge sort both timed out and didn't provide any information.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea1c7932b3cc4b19c948
|
||||
title: Big-O Run Times of Sorting Algorithms
|
||||
challengeType: 11
|
||||
videoId: DQ1lQ0IxNgE
|
||||
dashedName: big-o-runtimes-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about the different Big O runtimes for the sorting algorithms covered so far.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the worst case scenario for quicksort?
|
||||
|
||||
## --answers--
|
||||
|
||||
quadratic time
|
||||
|
||||
---
|
||||
|
||||
linear time
|
||||
|
||||
---
|
||||
|
||||
constant time
|
||||
|
||||
---
|
||||
|
||||
exponential time
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de9f07932b3cc4b19c940
|
||||
title: Bogosort
|
||||
challengeType: 11
|
||||
videoId: kz_PpX_ZnpQ
|
||||
dashedName: bogosort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to work with the bogosort algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
How does the bogosort algorithm work?
|
||||
|
||||
## --answers--
|
||||
|
||||
It repeatedly swaps adjacent elements in a deterministic pattern until sorted.
|
||||
|
||||
---
|
||||
|
||||
It splits the list into halves, sorts each recursively, then merges them.
|
||||
|
||||
---
|
||||
|
||||
It randomly shuffles the list until it happens to be sorted.
|
||||
|
||||
---
|
||||
|
||||
It selects the smallest element and places it in order, like selection sort.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
---
|
||||
id: 698dea0c7932b3cc4b19c945
|
||||
title: Implementing Quicksort
|
||||
challengeType: 11
|
||||
videoId: 7k5rxhK3X_Y
|
||||
dashedName: implementing-quicksort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to implement the quicksort algorithm in Python.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the base case for this quicksort implementation in Python?
|
||||
|
||||
## --answers--
|
||||
|
||||
```python
|
||||
while len(values) > 1:
|
||||
values.pop()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
for i in range(len(values)):
|
||||
if values[i] > 0:
|
||||
values[i] -= 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
for i in range(len(values)):
|
||||
values[i] += 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
```python
|
||||
if len(values) <= 1:
|
||||
return values
|
||||
```
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea107932b3cc4b19c946
|
||||
title: Merge Sort
|
||||
challengeType: 11
|
||||
videoId: Aj6ikfTns9o
|
||||
dashedName: merge-sort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will revisit the merge sort algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is a core difference between the merge sort and quicksort algorithms?
|
||||
|
||||
## --answers--
|
||||
|
||||
Merge sort swaps adjacent elements repeatedly until sorted.
|
||||
|
||||
---
|
||||
|
||||
Quicksort will partition the list around a pivot and recursively sort sublists, while merge sort splits the list in half and merges sorted halves.
|
||||
|
||||
---
|
||||
|
||||
Merge sort uses a hash table to count elements, whereas quicksort uses a deque to reorder elements.
|
||||
|
||||
---
|
||||
|
||||
Quicksort always uses a while loop to sort, while merge sort uses a for loop.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea057932b3cc4b19c944
|
||||
title: Quicksort
|
||||
challengeType: 11
|
||||
videoId: IAeOxoWnKU0
|
||||
dashedName: quicksort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how the quicksort algorithm works.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which technique is used in the quicksort algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
recursion
|
||||
|
||||
---
|
||||
|
||||
iteration with nested loops
|
||||
|
||||
---
|
||||
|
||||
hashing
|
||||
|
||||
---
|
||||
|
||||
dynamic programming
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de9ff7932b3cc4b19c943
|
||||
title: Recursion
|
||||
challengeType: 11
|
||||
videoId: XPIF44IXf1I
|
||||
dashedName: recursion-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will review how recursive functions work.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is recursion?
|
||||
|
||||
## --answers--
|
||||
|
||||
A type of loop that never ends.
|
||||
|
||||
---
|
||||
|
||||
A function that calls itself.
|
||||
|
||||
---
|
||||
|
||||
A function that only runs once and then stops.
|
||||
|
||||
---
|
||||
|
||||
A function that automatically sorts data.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de9fa7932b3cc4b19c942
|
||||
title: Getting the Run Time of a Program
|
||||
challengeType: 11
|
||||
videoId: mc0l9RHWjT0
|
||||
dashedName: runtime-of-a-program-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to measure runtimes for the selection sort algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the unix command the instructor uses to run the program and check the times for the selection sort algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
`check`
|
||||
|
||||
---
|
||||
|
||||
`run`
|
||||
|
||||
---
|
||||
|
||||
`time`
|
||||
|
||||
---
|
||||
|
||||
`set`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de9f47932b3cc4b19c941
|
||||
title: Selection Sort
|
||||
challengeType: 11
|
||||
videoId: 6kIttK2RzoU
|
||||
dashedName: selection-sort-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about the selection sort algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
How does the selection sort algorithm work?
|
||||
|
||||
## --answers--
|
||||
|
||||
It repeatedly finds the smallest (or largest) element from the unsorted portion and moves it to the sorted portion.
|
||||
|
||||
---
|
||||
|
||||
It repeatedly swaps adjacent elements until the entire list is sorted.
|
||||
|
||||
---
|
||||
|
||||
It randomly shuffles the list until it becomes sorted.
|
||||
|
||||
---
|
||||
|
||||
It divides the list into halves, sorts each half recursively, and merges them.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de9ea7932b3cc4b19c93f
|
||||
title: Sorting and Searching
|
||||
challengeType: 11
|
||||
videoId: j0NR0IDAU-0
|
||||
dashedName: sorting-searching-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, instructor Jay McGavren will talk about what to expect in the next portion of the course in regards to sorting and searching algorithms.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which sorting algorithm would you use if you want to search a large sorted list of items in an efficient amount of time?
|
||||
|
||||
## --answers--
|
||||
|
||||
linear search
|
||||
|
||||
---
|
||||
|
||||
binary search
|
||||
|
||||
---
|
||||
|
||||
beam search
|
||||
|
||||
---
|
||||
|
||||
dynamic search
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de74b7932b3cc4b19c93c
|
||||
title: The Conquer Step
|
||||
challengeType: 11
|
||||
videoId: 4-ycdUhn30U
|
||||
dashedName: conquer-step-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn to implement the merge sort algorithm on linked lists by practicing the conquer step.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the purpose of the `merge` function in this merge sort implementation?
|
||||
|
||||
## --answers--
|
||||
|
||||
The purpose is to split a linked list into smaller sublists for recursive sorting.
|
||||
|
||||
---
|
||||
|
||||
The purpose is to select nodes from each list without sorting and combine them.
|
||||
|
||||
---
|
||||
|
||||
The purpose is to merge two linked list, sorting by data in nodes and returning a new merged list.
|
||||
|
||||
---
|
||||
|
||||
The purpose is to rearrange nodes in a linked list in reverse order and return the result.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de6a07932b3cc4b19c93b
|
||||
title: The Divide Step
|
||||
challengeType: 11
|
||||
videoId: HW3cLmVfSw0
|
||||
dashedName: divide-step-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will continue to learn how to implement the divide step of the merge sort algorithm on linked lists.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the point of the `split` function?
|
||||
|
||||
## --answers--
|
||||
|
||||
To select a pivot element for dividing the list.
|
||||
|
||||
---
|
||||
|
||||
To merge two sorted sublists into one list.
|
||||
|
||||
---
|
||||
|
||||
To split the list into two halves without considering order.
|
||||
|
||||
---
|
||||
|
||||
To divide the unsorted list at the midpoint into sublists.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de83d7932b3cc4b19c93d
|
||||
title: Evaluating the Runtime
|
||||
challengeType: 11
|
||||
videoId: 4eQyFkVtkvk
|
||||
dashedName: evaluating-runtime-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about how to evaluate runtimes for merge sort on linked lists.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the runtime of the `split` function in the implementation of merge sort?
|
||||
|
||||
## --answers--
|
||||
|
||||
`O(k log)`
|
||||
|
||||
---
|
||||
|
||||
`O(log n)`
|
||||
|
||||
---
|
||||
|
||||
`O(k n)`
|
||||
|
||||
---
|
||||
|
||||
`O(k log n)`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de3bb7932b3cc4b19c93a
|
||||
title: The Merge Function
|
||||
challengeType: 11
|
||||
videoId: nXhW8WE8rFU
|
||||
dashedName: merge-function-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to implement the merge sort algorithm on a linked list.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What are the three functions that will be used in this merge sort implementation?
|
||||
|
||||
## --answers--
|
||||
|
||||
`merge_sort`, `split` and `merge`
|
||||
|
||||
---
|
||||
|
||||
`merge_sort`, `insert` and `delete`
|
||||
|
||||
---
|
||||
|
||||
`sort`, `combine` and `partition`
|
||||
|
||||
---
|
||||
|
||||
`search`, `split` and `merge`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698de8fd7932b3cc4b19c93e
|
||||
title: Recap of Introduction to Data Structures
|
||||
challengeType: 11
|
||||
videoId: KUG1HNrchK0
|
||||
dashedName: recap-introduction-to-data-structures-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will recap the concepts you learned about data structures.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the name of the data structure in Python that is similar to arrays and can store a sequence of elements?
|
||||
|
||||
## --answers--
|
||||
|
||||
tuples
|
||||
|
||||
---
|
||||
|
||||
lists
|
||||
|
||||
---
|
||||
|
||||
dictionaries
|
||||
|
||||
---
|
||||
|
||||
sets
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea4b7932b3cc4b19c94d
|
||||
title: Big O Runtime of Search Algorithms
|
||||
challengeType: 11
|
||||
videoId: V9ID1JG7BpU
|
||||
dashedName: big-o-runtimes-search-algorithms-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will look at the Big O runtimes for linear and binary search.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the big O runtime for linear search?
|
||||
|
||||
## --answers--
|
||||
|
||||
`O(n)`
|
||||
|
||||
---
|
||||
|
||||
`O(n + n)`
|
||||
|
||||
---
|
||||
|
||||
`O(1)`
|
||||
|
||||
---
|
||||
|
||||
`O(log n)`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea3f7932b3cc4b19c94b
|
||||
title: Binary Search
|
||||
challengeType: 11
|
||||
videoId: VZ1u8vgVJwo
|
||||
dashedName: searching-names-binary-search-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will revisit the binary search algorithm and how it works in searching through a list of names.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
When might you use the binary search algorithm over the linear search algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
When the list is unsorted and frequently changing.
|
||||
|
||||
---
|
||||
|
||||
When you need to check every element one by one.
|
||||
|
||||
---
|
||||
|
||||
When you know you are searching through a large list of sorted results.
|
||||
|
||||
---
|
||||
|
||||
When the dataset is very small and performance does not matter.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea367932b3cc4b19c949
|
||||
title: Linear Search
|
||||
challengeType: 11
|
||||
videoId: aC9uj1nYJLI
|
||||
dashedName: searching-names-linear-search-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will examine how linear search works on a list of names.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
When might you use linear search over binary search?
|
||||
|
||||
## --answers--
|
||||
|
||||
When the list is very large and already sorted.
|
||||
|
||||
---
|
||||
|
||||
If you need logarithmic time complexity.
|
||||
|
||||
---
|
||||
|
||||
If you know the list is unsorted.
|
||||
|
||||
---
|
||||
|
||||
When you can repeatedly divide the dataset in half.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea3b7932b3cc4b19c94a
|
||||
title: Sorting Names
|
||||
challengeType: 11
|
||||
videoId: DpuNKrUDr40
|
||||
dashedName: sorting-names-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will implement the quicksort algorithm in Python to sort a list of names.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What symbol does the instructor use in the video the redirect the program's output to another file in linux?
|
||||
|
||||
## --answers--
|
||||
|
||||
`>`
|
||||
|
||||
---
|
||||
|
||||
`<<`
|
||||
|
||||
---
|
||||
|
||||
`|`
|
||||
|
||||
---
|
||||
|
||||
`?`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dea447932b3cc4b19c94c
|
||||
title: Timing Our Search Scripts
|
||||
challengeType: 11
|
||||
videoId: F_YLFplzb94
|
||||
dashedName: timing-search-scripts-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will see how the binary and linear search algorithms work with a list of names and how the results compare.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What happened when the binary and linear search algorithm times were compared on a list of names?
|
||||
|
||||
## --answers--
|
||||
|
||||
Linear search took half as long to complete as binary search.
|
||||
|
||||
---
|
||||
|
||||
Binary search took half as long to complete as linear search.
|
||||
|
||||
---
|
||||
|
||||
Both algorithms took the same amount of time to complete.
|
||||
|
||||
---
|
||||
|
||||
Both algorithms timed out and no results were displayed.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc59b7932b3cc4b19c921
|
||||
title: Constant and Logarithmic Time
|
||||
challengeType: 11
|
||||
videoId: KOMvBi-DabE
|
||||
dashedName: constant-logarithmic-time-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about constant and logarithmic times for algorithms.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which of the following is the correct way to represent constant time in Big O notation?
|
||||
|
||||
## --answers--
|
||||
|
||||
`O(n)`
|
||||
|
||||
---
|
||||
|
||||
`O(1)`
|
||||
|
||||
---
|
||||
|
||||
`O(C)`
|
||||
|
||||
---
|
||||
|
||||
`O(0)`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc8ae7932b3cc4b19c925
|
||||
title: Determining Complexity
|
||||
challengeType: 11
|
||||
videoId: 8bglWlQYTPQ
|
||||
dashedName: determining-complexity-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to determine the worst case complexity for an algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is the worst case runtime for binary search?
|
||||
|
||||
## --answers--
|
||||
|
||||
`O(n)`
|
||||
|
||||
---
|
||||
|
||||
`O(log n)`
|
||||
|
||||
---
|
||||
|
||||
`O(1)`
|
||||
|
||||
---
|
||||
|
||||
`O(n log n)`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
2
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc4a27932b3cc4b19c920
|
||||
title: Efficiency of an Algorithm
|
||||
challengeType: 11
|
||||
videoId: EHxx4yawPT0
|
||||
dashedName: efficiency-algorithm-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn how to measure the efficiency of an algorithm.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What is Big O notation?
|
||||
|
||||
## --answers--
|
||||
|
||||
A notation used to calculate the memory address of variables in a program.
|
||||
|
||||
---
|
||||
|
||||
The exact running time of a program measured in seconds.
|
||||
|
||||
---
|
||||
|
||||
A method for debugging errors in large software systems.
|
||||
|
||||
---
|
||||
|
||||
Theoretical definition of the complexity of an algorithm as a function of the size.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
4
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc79f7932b3cc4b19c924
|
||||
title: Exponential Time
|
||||
challengeType: 11
|
||||
videoId: GNnxIIYwYFM
|
||||
dashedName: exponential-time-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about exponential runtimes.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which of the following popular problems is an example of an exponential algorithm?
|
||||
|
||||
## --answers--
|
||||
|
||||
Traveling Salesman
|
||||
|
||||
---
|
||||
|
||||
Dijkstra Algorithm
|
||||
|
||||
---
|
||||
|
||||
Merge Sort
|
||||
|
||||
---
|
||||
|
||||
Fibonacci Sequence
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc6467932b3cc4b19c922
|
||||
title: Linear and Quadratic Time
|
||||
challengeType: 11
|
||||
videoId: jS7vtk-JLZ0
|
||||
dashedName: linear-quadratic-time-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will learn about linear and quadratic times.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
What does quadratic mean?
|
||||
|
||||
## --answers--
|
||||
|
||||
An operation raised to the first power.
|
||||
|
||||
---
|
||||
|
||||
An operation raised to the third power.
|
||||
|
||||
---
|
||||
|
||||
An operation raised to the second power.
|
||||
|
||||
---
|
||||
|
||||
An operation raised to the tenth power.
|
||||
|
||||
## --video-solution--
|
||||
|
||||
3
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: 698dc6f47932b3cc4b19c923
|
||||
title: Quasilinear Time
|
||||
challengeType: 11
|
||||
videoId: p3UAfZZ3Nz0
|
||||
dashedName: quasilinear-time-introduction-to-algorithms-and-data-structures
|
||||
---
|
||||
|
||||
# --description--
|
||||
|
||||
In this video, you will about quasilinear times.
|
||||
|
||||
# --questions--
|
||||
|
||||
## --text--
|
||||
|
||||
Which of the following is the correct way to represent quasilinear time in Big O notation?
|
||||
|
||||
## --answers--
|
||||
|
||||
`O(n log n)`
|
||||
|
||||
---
|
||||
|
||||
`O(log n)`
|
||||
|
||||
---
|
||||
|
||||
`O(n n)`
|
||||
|
||||
---
|
||||
|
||||
`O(n log)`
|
||||
|
||||
## --video-solution--
|
||||
|
||||
1
|
||||
@@ -34,6 +34,7 @@ const superblocks = [
|
||||
'project-euler',
|
||||
'2022/responsive-web-design',
|
||||
'the-odin-project',
|
||||
'introduction-to-algorithms-and-data-structures',
|
||||
'lab-survey-form',
|
||||
'html-and-accessibility',
|
||||
'computer-basics',
|
||||
|
||||
@@ -205,6 +205,8 @@ export const superBlockNames = {
|
||||
'full-stack-developer-v9': SuperBlocks.FullStackDeveloperV9,
|
||||
'html-forms-and-tables': SuperBlocks.HtmlFormsAndTables,
|
||||
'learn-python-for-beginners': SuperBlocks.LearnPythonForBeginners,
|
||||
'introduction-to-algorithms-and-data-structures':
|
||||
SuperBlocks.IntroductionToAlgorithmsAndDataStructures,
|
||||
'lab-survey-form': SuperBlocks.LabSurveyForm,
|
||||
'html-and-accessibility': SuperBlocks.HtmlAndAccessibility,
|
||||
'computer-basics': SuperBlocks.ComputerBasics,
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Algorithms in Code",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-algorithms-in-code",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dca057932b3cc4b19c926",
|
||||
"title": "Linear Search in Code"
|
||||
},
|
||||
{
|
||||
"id": "698dcc2c7932b3cc4b19c927",
|
||||
"title": "Binary Search in Code"
|
||||
},
|
||||
{
|
||||
"id": "698dce727932b3cc4b19c928",
|
||||
"title": "Recursive Binary Search"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "Introduction to Arrays",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-arrays",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dd14c7932b3cc4b19c92c",
|
||||
"title": "Introduction to Data Structures"
|
||||
},
|
||||
{
|
||||
"id": "698dd3547932b3cc4b19c92d",
|
||||
"title": "Array Basics"
|
||||
},
|
||||
{
|
||||
"id": "698dd3ea7932b3cc4b19c92e",
|
||||
"title": "Accessing a Value in an Array"
|
||||
},
|
||||
{
|
||||
"id": "698dd4cd7932b3cc4b19c92f",
|
||||
"title": "Array Search, Insert and Delete"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "Introduction to Linked Lists",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-linked-lists",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dd5a27932b3cc4b19c930",
|
||||
"title": "What is a Linked List?"
|
||||
},
|
||||
{
|
||||
"id": "698dd6627932b3cc4b19c931",
|
||||
"title": "Adding Nodes to a Linked List"
|
||||
},
|
||||
{
|
||||
"id": "698dd7f67932b3cc4b19c932",
|
||||
"title": "Implementing Search"
|
||||
},
|
||||
{
|
||||
"id": "698dd8b47932b3cc4b19c933",
|
||||
"title": "Inserting a Node"
|
||||
},
|
||||
{
|
||||
"id": "698dd9817932b3cc4b19c934",
|
||||
"title": "Removing a Node"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "The Merge Sort Algorithm",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-merge-sort",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dda7a7932b3cc4b19c935",
|
||||
"title": "Merge Sort"
|
||||
},
|
||||
{
|
||||
"id": "698ddca77932b3cc4b19c936",
|
||||
"title": "Splitting Into Sublists"
|
||||
},
|
||||
{
|
||||
"id": "698ddfc37932b3cc4b19c937",
|
||||
"title": "Recursively Merging Sublists"
|
||||
},
|
||||
{
|
||||
"id": "698de0ca7932b3cc4b19c938",
|
||||
"title": "Ensuring the Correctness of Merge Sort"
|
||||
},
|
||||
{
|
||||
"id": "698de2547932b3cc4b19c939",
|
||||
"title": "Evaluating the Runtime of Merge Sort"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Recursion and Space Complexity",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-recursion-and-space-complexity",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dcf297932b3cc4b19c929",
|
||||
"title": "Recursive Functions"
|
||||
},
|
||||
{
|
||||
"id": "698dcfd57932b3cc4b19c92a",
|
||||
"title": "Space Complexity"
|
||||
},
|
||||
{
|
||||
"id": "698dd0707932b3cc4b19c92b",
|
||||
"title": "Recap of Algorithms in Code"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "Searching Algorithms",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-searching-algorithms",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dbbcf7932b3cc4b19c91a",
|
||||
"title": "Introduction"
|
||||
},
|
||||
{
|
||||
"id": "698dbbd47932b3cc4b19c91b",
|
||||
"title": "What is an Algorithm?"
|
||||
},
|
||||
{
|
||||
"id": "698dbdec7932b3cc4b19c91c",
|
||||
"title": "Guess the Number"
|
||||
},
|
||||
{
|
||||
"id": "698dbf2b7932b3cc4b19c91d",
|
||||
"title": "Defining an Algorithm"
|
||||
},
|
||||
{
|
||||
"id": "698dc0277932b3cc4b19c91e",
|
||||
"title": "Evaluating Linear Search"
|
||||
},
|
||||
{
|
||||
"id": "698dc20d7932b3cc4b19c91f",
|
||||
"title": "Evaluating Binary Search"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"name": "Sorting Algorithms",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-sorting-algorithms",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698de9ea7932b3cc4b19c93f",
|
||||
"title": "Sorting and Searching"
|
||||
},
|
||||
{
|
||||
"id": "698de9f07932b3cc4b19c940",
|
||||
"title": "Bogosort"
|
||||
},
|
||||
{
|
||||
"id": "698de9f47932b3cc4b19c941",
|
||||
"title": "Selection Sort"
|
||||
},
|
||||
{
|
||||
"id": "698de9fa7932b3cc4b19c942",
|
||||
"title": "Getting the Run Time of a Program"
|
||||
},
|
||||
{
|
||||
"id": "698de9ff7932b3cc4b19c943",
|
||||
"title": "Recursion"
|
||||
},
|
||||
{
|
||||
"id": "698dea057932b3cc4b19c944",
|
||||
"title": "Quicksort"
|
||||
},
|
||||
{
|
||||
"id": "698dea0c7932b3cc4b19c945",
|
||||
"title": "Implementing Quicksort"
|
||||
},
|
||||
{
|
||||
"id": "698dea107932b3cc4b19c946",
|
||||
"title": "Merge Sort"
|
||||
},
|
||||
{
|
||||
"id": "698dea167932b3cc4b19c947",
|
||||
"title": "Actual Run Time for Sorting Algorithms"
|
||||
},
|
||||
{
|
||||
"id": "698dea1c7932b3cc4b19c948",
|
||||
"title": "Big-O Run Times of Sorting Algorithms"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "Sorting a Linked List",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-sorting-linked-lists",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698de3bb7932b3cc4b19c93a",
|
||||
"title": "The Merge Function"
|
||||
},
|
||||
{
|
||||
"id": "698de6a07932b3cc4b19c93b",
|
||||
"title": "The Divide Step"
|
||||
},
|
||||
{
|
||||
"id": "698de74b7932b3cc4b19c93c",
|
||||
"title": "The Conquer Step"
|
||||
},
|
||||
{
|
||||
"id": "698de83d7932b3cc4b19c93d",
|
||||
"title": "Evaluating the Runtime"
|
||||
},
|
||||
{
|
||||
"id": "698de8fd7932b3cc4b19c93e",
|
||||
"title": "Recap of Introduction to Data Structures"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "Searching Names using Sorting and Searching Algorithms",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-sorting-searching-algorithms",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dea367932b3cc4b19c949",
|
||||
"title": "Linear Search"
|
||||
},
|
||||
{
|
||||
"id": "698dea3b7932b3cc4b19c94a",
|
||||
"title": "Sorting Names"
|
||||
},
|
||||
{
|
||||
"id": "698dea3f7932b3cc4b19c94b",
|
||||
"title": "Binary Search"
|
||||
},
|
||||
{
|
||||
"id": "698dea447932b3cc4b19c94c",
|
||||
"title": "Timing Our Search Scripts"
|
||||
},
|
||||
{
|
||||
"id": "698dea4b7932b3cc4b19c94d",
|
||||
"title": "Big O Runtime of Search Algorithms"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "Time Complexity",
|
||||
"blockLabel": "lecture",
|
||||
"blockLayout": "challenge-list",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "intro-dsa-time-complexity",
|
||||
"helpCategory": "Backend Development",
|
||||
"challengeOrder": [
|
||||
{
|
||||
"id": "698dc4a27932b3cc4b19c920",
|
||||
"title": "Efficiency of an Algorithm"
|
||||
},
|
||||
{
|
||||
"id": "698dc59b7932b3cc4b19c921",
|
||||
"title": "Constant and Logarithmic Time"
|
||||
},
|
||||
{
|
||||
"id": "698dc6467932b3cc4b19c922",
|
||||
"title": "Linear & Quadratic Time"
|
||||
},
|
||||
{
|
||||
"id": "698dc6f47932b3cc4b19c923",
|
||||
"title": "Quasilinear Time"
|
||||
},
|
||||
{
|
||||
"id": "698dc79f7932b3cc4b19c924",
|
||||
"title": "Exponential Time"
|
||||
},
|
||||
{
|
||||
"id": "698dc8ae7932b3cc4b19c925",
|
||||
"title": "Determining Complexity"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -39,6 +39,7 @@
|
||||
"full-stack-developer-v9",
|
||||
"html-forms-and-tables",
|
||||
"learn-python-for-beginners",
|
||||
"introduction-to-algorithms-and-data-structures",
|
||||
"lab-survey-form",
|
||||
"html-and-accessibility",
|
||||
"computer-basics",
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"intro-dsa-searching-algorithms",
|
||||
"intro-dsa-time-complexity",
|
||||
"intro-dsa-algorithms-in-code",
|
||||
"intro-dsa-recursion-and-space-complexity",
|
||||
"intro-dsa-arrays",
|
||||
"intro-dsa-linked-lists",
|
||||
"intro-dsa-merge-sort",
|
||||
"intro-dsa-sorting-linked-lists",
|
||||
"intro-dsa-sorting-algorithms",
|
||||
"intro-dsa-sorting-searching-algorithms"
|
||||
]
|
||||
}
|
||||
@@ -17,7 +17,8 @@ enum Topic {
|
||||
D3 = 'd3',
|
||||
Api = 'api',
|
||||
InformationSecurity = 'information-security',
|
||||
ComputerFundamentals = 'computer-fundamentals'
|
||||
ComputerFundamentals = 'computer-fundamentals',
|
||||
ComputerScience = 'computer-science'
|
||||
}
|
||||
|
||||
interface Catalog {
|
||||
@@ -189,5 +190,11 @@ export const catalog: Catalog[] = [
|
||||
level: Levels.Advanced,
|
||||
hours: 2,
|
||||
topic: Topic.CSS
|
||||
},
|
||||
{
|
||||
superBlock: SuperBlocks.IntroductionToAlgorithmsAndDataStructures,
|
||||
level: Levels.Intermediate,
|
||||
hours: 6,
|
||||
topic: Topic.ComputerScience
|
||||
}
|
||||
];
|
||||
|
||||
@@ -366,7 +366,8 @@ export const superBlockToCertMap: {
|
||||
[SuperBlocks.CssGrid]: null,
|
||||
[SuperBlocks.LabProductLandingPage]: null,
|
||||
[SuperBlocks.CssAnimations]: null,
|
||||
[SuperBlocks.LearnPythonForBeginners]: null
|
||||
[SuperBlocks.LearnPythonForBeginners]: null,
|
||||
[SuperBlocks.IntroductionToAlgorithmsAndDataStructures]: null
|
||||
};
|
||||
|
||||
export const certificationRequirements: Partial<
|
||||
|
||||
@@ -65,7 +65,8 @@ export enum SuperBlocks {
|
||||
CssGrid = 'css-grid',
|
||||
LabProductLandingPage = 'lab-product-landing-page',
|
||||
CssAnimations = 'css-animations',
|
||||
LearnPythonForBeginners = 'learn-python-for-beginners'
|
||||
LearnPythonForBeginners = 'learn-python-for-beginners',
|
||||
IntroductionToAlgorithmsAndDataStructures = 'introduction-to-algorithms-and-data-structures'
|
||||
}
|
||||
|
||||
export const languageSuperBlocks = [
|
||||
@@ -216,7 +217,8 @@ export const superBlockStages: StageMap = {
|
||||
SuperBlocks.CssGrid,
|
||||
SuperBlocks.LabProductLandingPage,
|
||||
SuperBlocks.CssAnimations,
|
||||
SuperBlocks.LearnPythonForBeginners
|
||||
SuperBlocks.LearnPythonForBeginners,
|
||||
SuperBlocks.IntroductionToAlgorithmsAndDataStructures
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user