DSA Lab Practicals Final
DSA Lab Practicals Final
Code:
class HashTable:
def __init__(self, size):
self.size = size
self.table = [None] * size
# Example usage
ht = HashTable(10)
ht.insert(12, "Alice")
ht.insert(22, "Bob")
ht.insert(32, "Charlie")
Code:
class SetADT:
def __init__(self):
self.set_data = set()
# Example usage
set1 = SetADT()
set2 = SetADT()
set1.add(1)
set1.add(2)
set1.add(3)
set2.add(3)
set2.add(4)
set2.add(5)
Code:
#include <iostream>
using namespace std;
class Node {
public:
int value;
Node* left;
Node* right;
Node(int key) {
value = key;
left = right = NULL;
}
};
class BST {
public:
Node* root;
BST() { root = NULL; }
int main() {
BST tree;
tree.insert(50);
tree.insert(30);
tree.insert(70);
tree.insert(20);
tree.insert(40);
tree.insert(60);
tree.insert(80);
Output:
Inorder traversal of the BST:
20 30 40 50 60 70 80
Practical 4: Expression Tree from Prefix Expression (C++)
Name: Suraj Surve
Code:
#include <iostream>
#include <stack>
using namespace std;
class Node {
public:
char value;
Node* left;
Node* right;
Node(char val) {
value = val;
left = right = NULL;
}
};
int main() {
string expression = "+--a*bc/def";
Node* root = constructExpressionTree(expression);
cout << "Postorder traversal of the expression tree:\n";
postorderTraversal(root);
return 0;
}
Output:
Postorder traversal of the expression tree:
ab*c-de/f-+
Practical 5: General Tree Implementation (C++)
Name: Suraj Surve
Code:
#include <iostream>
#include <vector>
using namespace std;
class GeneralTreeNode {
public:
string label;
vector<GeneralTreeNode*> children;
GeneralTreeNode(string lbl) {
label = lbl;
}
int main() {
GeneralTreeNode* root = new GeneralTreeNode("Book");
GeneralTreeNode* chapter1 = new GeneralTreeNode("Chapter 1");
GeneralTreeNode* section1 = new GeneralTreeNode("Section 1.1");
GeneralTreeNode* section2 = new GeneralTreeNode("Section 1.2");
chapter1->addChild(section1);
chapter1->addChild(section2);
root->addChild(chapter1);
cout << "Tree Structure:\n";
printTree(root);
return 0;
}
Output:
Tree Structure:
Book
Chapter 1
Section 1.1
Section 1.2