Skip to content

Instantly share code, notes, and snippets.

View cs-fedy's full-sized avatar
🎯
Focusing

Fedi Abdouli cs-fedy

🎯
Focusing
View GitHub Profile
module.exports = {
OK: 200, // Everything went fine. I return the resource you requested.
CREATED: 201, // Voilá. We successfully created a new resource for you.
NO_CONTENT: 204, // There is nothing to see here. Useful if you just deleted an object successfully.
UNAUTHORIZED: 401, // You did not provide valid credentials.
NOT_FOUND: 404, // Return this if a requested object could not be found.
UNPORCESSABLE_ENTITY: 422, // Resource cannot be saved. Maybe a validation error?
}
function Emitter() {
this.events = {};
}
Emitter.prototype.addListener = function (type, listener) {
// check if the listener is a function and throw error if it is not
if (typeof listener !== "function") {
throw new Error("Listener must be a function!");
}
// create the event listener property (array) if it does not exist.
@cs-fedy
cs-fedy / bst.py
Created September 22, 2020 10:57
binary search tree implementation Python
class Node:
def __init__(self, key):
self.key = key
self.left = None
self.right = None
class BST:
def __init__(self):
self.root = None
@cs-fedy
cs-fedy / binary_tree.py
Created September 19, 2020 14:18
binary tree implementation Python.
class Node:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
# Traverse preorder
def traversePreOrder(self):
print(self.val, end=' ')
if self.left:
@cs-fedy
cs-fedy / SeparateChaining.py
Created September 17, 2020 21:02
hash table separate chaining implementation Python.
class Node:
def __init__(self, key):
self.key = key
self.next = None
class HashTable:
def __init__(self, size=100, load_factor=0.75):
self.size = size
self.items_count = 0
@cs-fedy
cs-fedy / quadraticProbing.py
Created September 17, 2020 20:59
hash table quadratic probing implementation Python
# in state list: 1 means occupied, 0 means empty and -1 means deleted
class Node:
def __init__(self, key):
self.key = key
self.next = None
class QuadraticProbing:
def __init__(self, size=100, load_factor=0.75):
self.items_count = 0
@cs-fedy
cs-fedy / doubleHashing.py
Created September 17, 2020 20:59
hash table double hashing implementation Python
# in state list: 1 means occupied, 0 means empty and -1 means deleted
class Node:
def __init__(self, key):
self.key = key
self.next = None
class DoubleHashing:
def __init__(self, size=100, load_factor=0.75):
self.items_count = 0
@cs-fedy
cs-fedy / linearProbing.py
Last active November 28, 2023 20:46
hash table linear probing implementation Python
# in state list: 1 means occupied, 0 means empty and -1 means deleted
class Node:
def __init__(self, key):
self.key = key
self.next = None
class HashTable:
def __init__(self, size=100, load_factor=0.75):
self.items_count = 0
@cs-fedy
cs-fedy / SeparateChaining.c
Last active September 17, 2020 21:01
hash table separate chaining implementation C.
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "hashTable.h"
// TODO: rehash if load factor is passed.
// hash table functions
HashTable * createHashTable(int capacity) {
HashTable * ht = malloc(sizeof(HashTable));
int index;
@cs-fedy
cs-fedy / kLinkedList.c
Last active September 17, 2020 20:41
k linked list implementation in C.
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "kll.h"
// Function on linked list:
LinkedList * createList() {
LinkedList *ll ;
ll = malloc(sizeof(LinkedList)) ;
ll -> head = NULL ;