https://github.com/sane-aalam/google-sheets
https://github.com/sane-aalam/google-sheets
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sane-aalam/google-sheets
- Owner: sane-aalam
- Created: 2023-12-30T05:49:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-04T17:08:53.000Z (almost 2 years ago)
- Last Synced: 2025-03-16T00:29:38.182Z (10 months ago)
- Language: JavaScript
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Google Sheets
- Developed a feature-rich spreadsheet app with robust functionality for cell editing, styling, and formula evaluation.
- Implemented styling options, including bold, italic, underline, font customization, and cell alignment.
- Enabled formula evaluation with automatic updates for dependent cells upon changes.
- Developed formula parsing with infix to postfix conversion and postfix evaluation, including DFS cycle detection.
- Supported the creation and management of multiple sheets for efficient data organization.
- employed CSS techniques, such as Flexbox.
- Provided the ability to convert sheets to JSON format and read from JSON for data storage.
- Demonstrated a strong understanding of HTML, CSS, and Vanilla JavaScript, showcasing proficiency in state
management, optimization, and advanced spreadsheet features.
## DFS cycle detection
```cpp
class Solution{
public:
//Function to return list containing vertices in Topological order.
vector topoSort(int V, vector adj[])
{
// create inDgree Array/Vector for storing the inDgree
vector inDegree(V);
// store the all inDgree into the array
for(int i = 0; i QueueDSA;
for(int node = 0; node < V; node++){
if(inDegree[node] == 0){
QueueDSA.push(node);
}
}
vector resultArray;
while(!QueueDSA.empty()){
int node = QueueDSA.front(); QueueDSA.pop();
resultArray.push_back(node);
for(auto it : adj[node]){
// reduce the indegree,push into the queue Those have indegree Zero
inDegree[it]--;
if(inDegree[it] == 0){
QueueDSA.push(it);
}
}
}
return resultArray;
}
};
- Expected Time Complexity: O(V + E)
- Expected Auxiliary Space: O(V)
```