dancealgorithm 0.1.0__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dancealgorithm-0.1.0/src/dancealgorithm.egg-info → dancealgorithm-0.1.1}/PKG-INFO +10 -22
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/README.md +9 -21
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/pyproject.toml +4 -2
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/__init__.py +12 -9
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/__main__.py +1 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Campus/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Flight/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Smart/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Advertisement/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Electric/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Emergency/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Cloud/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Disaster/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Hospital/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Commerce/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Customer/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Library/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Emergency/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Logistics/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Skyconnect/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Commerce/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/__init__.py +4 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/__init__.py +19 -25
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/downloader.py +1 -7
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1/src/dancealgorithm.egg-info}/PKG-INFO +10 -22
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/SOURCES.txt +0 -14
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Classroom/Solution.java +0 -87
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Classroom/__init__.py +0 -34
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Interference/Solution.java +0 -88
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - Interference/__init__.py +0 -34
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - University/Solution.java +0 -88
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC - University/__init__.py +0 -34
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/GC.txt +0 -25
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Delivery/Solution.java +0 -180
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Delivery/__init__.py +0 -34
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Drilling/Solution.java +0 -197
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Drilling/__init__.py +0 -34
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Flight/Solution.java +0 -180
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC - Flight/__init__.py +0 -34
- dancealgorithm-0.1.0/src/dancealgorithm/assignments/LC.txt +0 -31
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/LICENSE +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/setup.cfg +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Campus/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Flight/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Smart/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Advertisement/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Electric/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK - Emergency/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/FK.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Cloud/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Disaster/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Hospital/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Commerce/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Commerce/dataset.csv +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Customer/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Customer/dataset.csv +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Library/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS - Library/dataset.csv +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MS.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Emergency/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Logistics/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG - Skyconnect/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/MSG.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Commerce/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Commerce/dataset.csv +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/dataset.csv +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/Solution.java +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/dataset.csv +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/cli.py +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/config.py +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/dependency_links.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/entry_points.txt +0 -0
- {dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dancealgorithm
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: DanceAlgorithm: Instant DAA Algorithms, Lab Problem Sheets, Datasets, and Code Vault.
|
|
5
5
|
Author: DanceAlgorithm Maintainer
|
|
6
6
|
License-Expression: MIT
|
|
@@ -26,10 +26,11 @@ Dynamic: license-file
|
|
|
26
26
|
# ⚡ DanceAlgorithm
|
|
27
27
|
|
|
28
28
|
> **Instant DAA Problem Sheets, Datasets, Solutions & Algorithm Vault**
|
|
29
|
-
> Download, extract, organize, and directly **import** all
|
|
29
|
+
> Download, extract, organize, and directly **import** all 18 Design & Analysis of Algorithms (DAA) lab practical problem sheets, datasets, and Java solutions cleanly onto your PC or Linux machine with a single command or Python import.
|
|
30
30
|
|
|
31
31
|
[](https://pypi.org/project/dancealgorithm/)
|
|
32
32
|
[](https://www.python.org/)
|
|
33
|
+
[]()
|
|
33
34
|
[](https://opensource.org/licenses/MIT)
|
|
34
35
|
[]()
|
|
35
36
|
|
|
@@ -37,7 +38,7 @@ Dynamic: license-file
|
|
|
37
38
|
|
|
38
39
|
## 🌟 The Magic Experience
|
|
39
40
|
|
|
40
|
-
### Option A: Install & Extract All
|
|
41
|
+
### Option A: Install & Extract All 18 Problem Sheets
|
|
41
42
|
|
|
42
43
|
```powershell
|
|
43
44
|
pip install dancealgorithm; dance
|
|
@@ -49,7 +50,7 @@ Or run `dance` (or `dancealgorithm`) anytime in your terminal:
|
|
|
49
50
|
dance
|
|
50
51
|
```
|
|
51
52
|
|
|
52
|
-
Your `C:\DAA_Assignments` folder is cleanly populated with all
|
|
53
|
+
Your `C:\DAA_Assignments` folder (or `~/DAA_Assignments` on Linux) is cleanly populated with all 18 problem sheets:
|
|
53
54
|
|
|
54
55
|
```text
|
|
55
56
|
C:\DAA_Assignments\
|
|
@@ -61,7 +62,7 @@ C:\DAA_Assignments\
|
|
|
61
62
|
│ └── Solution.java
|
|
62
63
|
├── MS - Library/
|
|
63
64
|
├── ...
|
|
64
|
-
└──
|
|
65
|
+
└── K - Cloud/
|
|
65
66
|
└── Solution.java
|
|
66
67
|
```
|
|
67
68
|
|
|
@@ -83,9 +84,6 @@ dance QS.txt
|
|
|
83
84
|
# Dijkstra shortest path analysis
|
|
84
85
|
dance DA.txt
|
|
85
86
|
|
|
86
|
-
# Graph Coloring backtracking analysis
|
|
87
|
-
dance GC.txt
|
|
88
|
-
|
|
89
87
|
# Fractional Knapsack greedy proof
|
|
90
88
|
dance FK.txt
|
|
91
89
|
|
|
@@ -94,9 +92,6 @@ dance K.txt
|
|
|
94
92
|
|
|
95
93
|
# Multistage Graph backward DP
|
|
96
94
|
dance MSG.txt
|
|
97
|
-
|
|
98
|
-
# Least Cost Branch & Bound TSP
|
|
99
|
-
dance LC.txt
|
|
100
95
|
```
|
|
101
96
|
|
|
102
97
|
*(You can also use `dancealgorithm DA.txt` or `dance DA`)*
|
|
@@ -109,13 +104,12 @@ Extract only that particular folder:
|
|
|
109
104
|
# Extract unquoted or quoted
|
|
110
105
|
dance MSG - Logistics
|
|
111
106
|
dance "DA - Smart"
|
|
112
|
-
dance "GC - Classroom"
|
|
113
107
|
dance "MS - Customer"
|
|
114
108
|
|
|
115
109
|
# Or extract by problem number
|
|
116
110
|
dance 1
|
|
111
|
+
dance 10
|
|
117
112
|
dance 13
|
|
118
|
-
dance 19
|
|
119
113
|
```
|
|
120
114
|
|
|
121
115
|
### 3. List All Available Problem Sheets & Notes
|
|
@@ -128,7 +122,7 @@ dance list
|
|
|
128
122
|
|
|
129
123
|
## 🐍 Option B: Direct Python Import
|
|
130
124
|
|
|
131
|
-
All
|
|
125
|
+
All 18 assignments can be directly inspected or extracted programmatically:
|
|
132
126
|
|
|
133
127
|
```python
|
|
134
128
|
import dancealgorithm
|
|
@@ -143,13 +137,13 @@ dancealgorithm.extract("MSG - Logistics")
|
|
|
143
137
|
# 3. Extract all sheets to custom destination
|
|
144
138
|
dancealgorithm.extract(destination="D:/MyLabs")
|
|
145
139
|
|
|
146
|
-
# 4. Open destination folder in Windows
|
|
140
|
+
# 4. Open destination folder in system file manager (Windows, Linux, macOS)
|
|
147
141
|
dancealgorithm.open_folder()
|
|
148
142
|
```
|
|
149
143
|
|
|
150
144
|
---
|
|
151
145
|
|
|
152
|
-
## 📚 Complete Catalogue of All
|
|
146
|
+
## 📚 Complete Catalogue of All 18 DAA Problem Sheets
|
|
153
147
|
|
|
154
148
|
| No. | Algorithm | Category | Problem Sheet Title | Time Complexity |
|
|
155
149
|
|---|---|---|---|---|
|
|
@@ -171,12 +165,6 @@ dancealgorithm.open_folder()
|
|
|
171
165
|
| **16** | 0/1 Knapsack | Dynamic Programming | `K - Disaster` | $O(n \cdot W)$ |
|
|
172
166
|
| **17** | 0/1 Knapsack | Dynamic Programming | `K - Hospital` | $O(n \cdot W)$ |
|
|
173
167
|
| **18** | 0/1 Knapsack | Dynamic Programming | `K - Cloud` | $O(n \cdot W)$ |
|
|
174
|
-
| **19** | Graph Coloring | Backtracking | `GC - Classroom` | $O(V \cdot m^V)$ |
|
|
175
|
-
| **20** | Graph Coloring | Backtracking | `GC - Interference` | $O(V \cdot m^V)$ |
|
|
176
|
-
| **21** | Graph Coloring | Backtracking | `GC - University` | $O(V \cdot m^V)$ |
|
|
177
|
-
| **22** | LC Branch & Bound | Branch & Bound | `LC - Delivery` | $O(n! \cdot n^2)$ |
|
|
178
|
-
| **23** | LC Branch & Bound | Branch & Bound | `LC - Drilling` | $O(n! \cdot n^2)$ |
|
|
179
|
-
| **24** | LC Branch & Bound | Branch & Bound | `LC - Flight` | $O(n! \cdot n^2)$ |
|
|
180
168
|
|
|
181
169
|
---
|
|
182
170
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# ⚡ DanceAlgorithm
|
|
2
2
|
|
|
3
3
|
> **Instant DAA Problem Sheets, Datasets, Solutions & Algorithm Vault**
|
|
4
|
-
> Download, extract, organize, and directly **import** all
|
|
4
|
+
> Download, extract, organize, and directly **import** all 18 Design & Analysis of Algorithms (DAA) lab practical problem sheets, datasets, and Java solutions cleanly onto your PC or Linux machine with a single command or Python import.
|
|
5
5
|
|
|
6
6
|
[](https://pypi.org/project/dancealgorithm/)
|
|
7
7
|
[](https://www.python.org/)
|
|
8
|
+
[]()
|
|
8
9
|
[](https://opensource.org/licenses/MIT)
|
|
9
10
|
[]()
|
|
10
11
|
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
|
|
13
14
|
## 🌟 The Magic Experience
|
|
14
15
|
|
|
15
|
-
### Option A: Install & Extract All
|
|
16
|
+
### Option A: Install & Extract All 18 Problem Sheets
|
|
16
17
|
|
|
17
18
|
```powershell
|
|
18
19
|
pip install dancealgorithm; dance
|
|
@@ -24,7 +25,7 @@ Or run `dance` (or `dancealgorithm`) anytime in your terminal:
|
|
|
24
25
|
dance
|
|
25
26
|
```
|
|
26
27
|
|
|
27
|
-
Your `C:\DAA_Assignments` folder is cleanly populated with all
|
|
28
|
+
Your `C:\DAA_Assignments` folder (or `~/DAA_Assignments` on Linux) is cleanly populated with all 18 problem sheets:
|
|
28
29
|
|
|
29
30
|
```text
|
|
30
31
|
C:\DAA_Assignments\
|
|
@@ -36,7 +37,7 @@ C:\DAA_Assignments\
|
|
|
36
37
|
│ └── Solution.java
|
|
37
38
|
├── MS - Library/
|
|
38
39
|
├── ...
|
|
39
|
-
└──
|
|
40
|
+
└── K - Cloud/
|
|
40
41
|
└── Solution.java
|
|
41
42
|
```
|
|
42
43
|
|
|
@@ -58,9 +59,6 @@ dance QS.txt
|
|
|
58
59
|
# Dijkstra shortest path analysis
|
|
59
60
|
dance DA.txt
|
|
60
61
|
|
|
61
|
-
# Graph Coloring backtracking analysis
|
|
62
|
-
dance GC.txt
|
|
63
|
-
|
|
64
62
|
# Fractional Knapsack greedy proof
|
|
65
63
|
dance FK.txt
|
|
66
64
|
|
|
@@ -69,9 +67,6 @@ dance K.txt
|
|
|
69
67
|
|
|
70
68
|
# Multistage Graph backward DP
|
|
71
69
|
dance MSG.txt
|
|
72
|
-
|
|
73
|
-
# Least Cost Branch & Bound TSP
|
|
74
|
-
dance LC.txt
|
|
75
70
|
```
|
|
76
71
|
|
|
77
72
|
*(You can also use `dancealgorithm DA.txt` or `dance DA`)*
|
|
@@ -84,13 +79,12 @@ Extract only that particular folder:
|
|
|
84
79
|
# Extract unquoted or quoted
|
|
85
80
|
dance MSG - Logistics
|
|
86
81
|
dance "DA - Smart"
|
|
87
|
-
dance "GC - Classroom"
|
|
88
82
|
dance "MS - Customer"
|
|
89
83
|
|
|
90
84
|
# Or extract by problem number
|
|
91
85
|
dance 1
|
|
86
|
+
dance 10
|
|
92
87
|
dance 13
|
|
93
|
-
dance 19
|
|
94
88
|
```
|
|
95
89
|
|
|
96
90
|
### 3. List All Available Problem Sheets & Notes
|
|
@@ -103,7 +97,7 @@ dance list
|
|
|
103
97
|
|
|
104
98
|
## 🐍 Option B: Direct Python Import
|
|
105
99
|
|
|
106
|
-
All
|
|
100
|
+
All 18 assignments can be directly inspected or extracted programmatically:
|
|
107
101
|
|
|
108
102
|
```python
|
|
109
103
|
import dancealgorithm
|
|
@@ -118,13 +112,13 @@ dancealgorithm.extract("MSG - Logistics")
|
|
|
118
112
|
# 3. Extract all sheets to custom destination
|
|
119
113
|
dancealgorithm.extract(destination="D:/MyLabs")
|
|
120
114
|
|
|
121
|
-
# 4. Open destination folder in Windows
|
|
115
|
+
# 4. Open destination folder in system file manager (Windows, Linux, macOS)
|
|
122
116
|
dancealgorithm.open_folder()
|
|
123
117
|
```
|
|
124
118
|
|
|
125
119
|
---
|
|
126
120
|
|
|
127
|
-
## 📚 Complete Catalogue of All
|
|
121
|
+
## 📚 Complete Catalogue of All 18 DAA Problem Sheets
|
|
128
122
|
|
|
129
123
|
| No. | Algorithm | Category | Problem Sheet Title | Time Complexity |
|
|
130
124
|
|---|---|---|---|---|
|
|
@@ -146,12 +140,6 @@ dancealgorithm.open_folder()
|
|
|
146
140
|
| **16** | 0/1 Knapsack | Dynamic Programming | `K - Disaster` | $O(n \cdot W)$ |
|
|
147
141
|
| **17** | 0/1 Knapsack | Dynamic Programming | `K - Hospital` | $O(n \cdot W)$ |
|
|
148
142
|
| **18** | 0/1 Knapsack | Dynamic Programming | `K - Cloud` | $O(n \cdot W)$ |
|
|
149
|
-
| **19** | Graph Coloring | Backtracking | `GC - Classroom` | $O(V \cdot m^V)$ |
|
|
150
|
-
| **20** | Graph Coloring | Backtracking | `GC - Interference` | $O(V \cdot m^V)$ |
|
|
151
|
-
| **21** | Graph Coloring | Backtracking | `GC - University` | $O(V \cdot m^V)$ |
|
|
152
|
-
| **22** | LC Branch & Bound | Branch & Bound | `LC - Delivery` | $O(n! \cdot n^2)$ |
|
|
153
|
-
| **23** | LC Branch & Bound | Branch & Bound | `LC - Drilling` | $O(n! \cdot n^2)$ |
|
|
154
|
-
| **24** | LC Branch & Bound | Branch & Bound | `LC - Flight` | $O(n! \cdot n^2)$ |
|
|
155
143
|
|
|
156
144
|
---
|
|
157
145
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dancealgorithm"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.1"
|
|
8
8
|
description = "DanceAlgorithm: Instant DAA Algorithms, Lab Problem Sheets, Datasets, and Code Vault."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -59,6 +59,8 @@ dancealgorithm = [
|
|
|
59
59
|
"**/*.pyo",
|
|
60
60
|
"**/*.class"
|
|
61
61
|
]
|
|
62
|
-
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
63
65
|
|
|
64
66
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""
|
|
2
2
|
DanceAlgorithm - Instant DAA Algorithms, Lab Problem Sheets, Datasets & Code Vault.
|
|
3
|
-
All
|
|
3
|
+
All 18 Practical Exam Problem Sheets & Algorithm Notes Bundled & Instantly Importable.
|
|
4
4
|
"""
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ import sys
|
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
from typing import Any, Dict, List, Optional, Union
|
|
11
11
|
|
|
12
|
-
__version__ = "0.1.
|
|
12
|
+
__version__ = "0.1.1"
|
|
13
13
|
|
|
14
14
|
# Import bundled assignments registry and sheets
|
|
15
15
|
from dancealgorithm.assignments import ASSIGNMENTS_DIR, REGISTRY, SHEETS
|
|
@@ -34,8 +34,8 @@ for sheet in SHEETS:
|
|
|
34
34
|
|
|
35
35
|
def get(identifier: Union[int, str]) -> Any:
|
|
36
36
|
"""
|
|
37
|
-
Get a specific problem sheet module by number (1..
|
|
38
|
-
or keyword/name (e.g. 'Customer', 'MS - Customer', '
|
|
37
|
+
Get a specific problem sheet module by number (1..18), ID (e.g. 'ps1', 'PS01'),
|
|
38
|
+
or keyword/name (e.g. 'Customer', 'MS - Customer', 'MSG - Logistics').
|
|
39
39
|
"""
|
|
40
40
|
if identifier in REGISTRY:
|
|
41
41
|
return REGISTRY[identifier]
|
|
@@ -57,7 +57,7 @@ def get(identifier: Union[int, str]) -> Any:
|
|
|
57
57
|
if norm in clean_title or clean_title in norm:
|
|
58
58
|
return sheet
|
|
59
59
|
|
|
60
|
-
raise KeyError(f"Problem sheet not found for '{identifier}'. Available: 1..
|
|
60
|
+
raise KeyError(f"Problem sheet not found for '{identifier}'. Available: 1..18.")
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
# Convenience alias: dancealgorithm.ps(1)
|
|
@@ -86,7 +86,7 @@ def extract(
|
|
|
86
86
|
) -> List[Path]:
|
|
87
87
|
"""
|
|
88
88
|
Extract all problem sheets or a specific one to the destination directory.
|
|
89
|
-
Default destination is C:\\DAA_Assignments (or ~/DAA_Assignments).
|
|
89
|
+
Default destination is C:\\DAA_Assignments on Windows (or ~/DAA_Assignments on Linux).
|
|
90
90
|
"""
|
|
91
91
|
from dancealgorithm.config import get_destination
|
|
92
92
|
from dancealgorithm.downloader import extract_bundled
|
|
@@ -98,13 +98,18 @@ def extract(
|
|
|
98
98
|
|
|
99
99
|
def open_folder(destination: Optional[Union[str, Path]] = None) -> None:
|
|
100
100
|
"""
|
|
101
|
-
Open the assignments destination folder in
|
|
101
|
+
Open the assignments destination folder in the default system file manager.
|
|
102
|
+
Works seamlessly on Windows (explorer), macOS (open), and Linux (xdg-open).
|
|
102
103
|
"""
|
|
103
104
|
from dancealgorithm.config import get_destination
|
|
104
105
|
target = Path(destination) if destination else get_destination()
|
|
105
106
|
target.mkdir(parents=True, exist_ok=True)
|
|
106
107
|
if sys.platform == "win32":
|
|
107
108
|
os.system(f'explorer "{target}"')
|
|
109
|
+
elif sys.platform == "darwin":
|
|
110
|
+
os.system(f'open "{target}"')
|
|
111
|
+
else:
|
|
112
|
+
os.system(f'xdg-open "{target}" 2>/dev/null &')
|
|
108
113
|
|
|
109
114
|
|
|
110
115
|
def __getattr__(name: str) -> Any:
|
|
@@ -124,5 +129,3 @@ __all__ = [
|
|
|
124
129
|
"open_folder",
|
|
125
130
|
]
|
|
126
131
|
|
|
127
|
-
|
|
128
|
-
|
{dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Campus/__init__.py
RENAMED
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
{dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Flight/__init__.py
RENAMED
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
{dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/DA - Smart/__init__.py
RENAMED
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
{dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/K - Cloud/__init__.py
RENAMED
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
{dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Movie/__init__.py
RENAMED
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
{dancealgorithm-0.1.0 → dancealgorithm-0.1.1}/src/dancealgorithm/assignments/QS - Online/__init__.py
RENAMED
|
@@ -25,6 +25,10 @@ def open_folder() -> None:
|
|
|
25
25
|
import os
|
|
26
26
|
if sys.platform == "win32":
|
|
27
27
|
os.system(f'explorer "{PATH}"')
|
|
28
|
+
elif sys.platform == "darwin":
|
|
29
|
+
os.system(f'open "{PATH}"')
|
|
30
|
+
else:
|
|
31
|
+
os.system(f'xdg-open "{PATH}" 2>/dev/null &')
|
|
28
32
|
|
|
29
33
|
def __getattr__(name: str):
|
|
30
34
|
if name in ("code", "java_code", "solution_code"):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""
|
|
2
2
|
DanceAlgorithm Bundled Problem Sheets & Assignments Vault.
|
|
3
|
-
Contains all
|
|
3
|
+
Contains all 18 DAA algorithms and problem sheets from DAA_UPDATED_PIP.
|
|
4
4
|
"""
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -15,30 +15,24 @@ SHEETS: List[Any] = []
|
|
|
15
15
|
DAA_ASSIGNMENTS: Dict[str, Any] = {}
|
|
16
16
|
|
|
17
17
|
ORDERED_NAMES = [
|
|
18
|
-
"MS - Customer",
|
|
19
|
-
"MS - Commerce",
|
|
20
|
-
"MS - Library",
|
|
21
|
-
"QS - Movie",
|
|
22
|
-
"QS - Commerce",
|
|
23
|
-
"QS - Online",
|
|
24
|
-
"FK - Emergency",
|
|
25
|
-
"FK - Electric",
|
|
26
|
-
"FK - Advertisement",
|
|
27
|
-
"DA - Smart",
|
|
28
|
-
"DA - Campus",
|
|
29
|
-
"DA - Flight",
|
|
30
|
-
"MSG - Logistics",
|
|
31
|
-
"MSG - Skyconnect",
|
|
32
|
-
"MSG - Emergency",
|
|
33
|
-
"K - Disaster",
|
|
34
|
-
"K - Hospital",
|
|
35
|
-
"K - Cloud",
|
|
36
|
-
"GC - Classroom",
|
|
37
|
-
"GC - Interference",
|
|
38
|
-
"GC - University",
|
|
39
|
-
"LC - Delivery",
|
|
40
|
-
"LC - Drilling",
|
|
41
|
-
"LC - Flight",
|
|
18
|
+
"MS - Customer", # 1
|
|
19
|
+
"MS - Commerce", # 2
|
|
20
|
+
"MS - Library", # 3
|
|
21
|
+
"QS - Movie", # 4
|
|
22
|
+
"QS - Commerce", # 5
|
|
23
|
+
"QS - Online", # 6
|
|
24
|
+
"FK - Emergency", # 7
|
|
25
|
+
"FK - Electric", # 8
|
|
26
|
+
"FK - Advertisement", # 9
|
|
27
|
+
"DA - Smart", # 10
|
|
28
|
+
"DA - Campus", # 11
|
|
29
|
+
"DA - Flight", # 12
|
|
30
|
+
"MSG - Logistics", # 13
|
|
31
|
+
"MSG - Skyconnect", # 14
|
|
32
|
+
"MSG - Emergency", # 15
|
|
33
|
+
"K - Disaster", # 16
|
|
34
|
+
"K - Hospital", # 17
|
|
35
|
+
"K - Cloud", # 18
|
|
42
36
|
]
|
|
43
37
|
|
|
44
38
|
for idx, name in enumerate(ORDERED_NAMES, 1):
|
|
@@ -15,7 +15,7 @@ import zipfile
|
|
|
15
15
|
from pathlib import Path
|
|
16
16
|
from typing import Dict, List, Optional, Tuple
|
|
17
17
|
|
|
18
|
-
USER_AGENT = "DanceAlgorithm-CLI/0.1.
|
|
18
|
+
USER_AGENT = "DanceAlgorithm-CLI/0.1.1"
|
|
19
19
|
MAX_ARCHIVE_SIZE_BYTES = 300 * 1024 * 1024 # 300 MB limit
|
|
20
20
|
MAX_FILE_COUNT = 10000 # 10,000 files limit
|
|
21
21
|
|
|
@@ -40,12 +40,6 @@ ORDERED_ASSIGNMENTS = [
|
|
|
40
40
|
"K - Disaster", # 16
|
|
41
41
|
"K - Hospital", # 17
|
|
42
42
|
"K - Cloud", # 18
|
|
43
|
-
"GC - Classroom", # 19
|
|
44
|
-
"GC - Interference", # 20
|
|
45
|
-
"GC - University", # 21
|
|
46
|
-
"LC - Delivery", # 22
|
|
47
|
-
"LC - Drilling", # 23
|
|
48
|
-
"LC - Flight", # 24
|
|
49
43
|
]
|
|
50
44
|
|
|
51
45
|
|