my_package.data_structures package

Submodules

my_package.data_structures.graph module

Graph Data Structure Module

class my_package.data_structures.graph.DirectedGraph

Bases: Graph

Digraph Data Structure

add_edge(source, destination)
Return type:

None

property edges: List[Tuple[Hashable, Hashable]]
in_degree(vertex)
Return type:

List[Hashable]

out_degree(vertex)
Return type:

List[Hashable]

remove_edge(source, destination)
remove_vertex(vertex)
class my_package.data_structures.graph.Graph

Bases: object

Base Class for Graphs.

add_edge(vertex_1, vertex_2)
Return type:

None

add_vertex(vertex)
Return type:

None

adjacent_vertices(vertex)
Return type:

List[Hashable]

property edges: List[Tuple[Hashable, Hashable]]
get_graph()
is_adjacent(vertex_1, vertex_2)
Return type:

bool

property vertices: List[Hashable]
class my_package.data_structures.graph.UndirectedGraph

Bases: Graph

Undirected Graph Data Structure.

add_edge(vertex_1, vertex_2)
Return type:

None

property edges: List[Set[Hashable]]
remove_edge(vertex_1, vertex_2)
remove_vertex(vertex)

my_package.data_structures.hash_table module

Module for Map-like Data Structures

class my_package.data_structures.hash_table.HashTable(size)

Bases: object

Hash Table Data Structure.

Parameters:

size (int) –

get(key)
hash_func(key)
insert(key, value)
remove(key)

my_package.data_structures.linked_list module

Linked List Module

class my_package.data_structures.linked_list.LinkedList

Bases: object

Singly Linked List Data Structure.

delete(data)
Parameters:

data (Any) –

delete_at_position(position)
Parameters:

position (int) –

classmethod from_list(inp_list)
Parameters:

inp_list (list) –

property head: _Node | None
insert_after_node(prev_node, data)
Parameters:
  • prev_node (_Node) –

  • data (Any) –

insert_at_end(data)
Parameters:

data (Any) –

insert_at_start(data)
Parameters:

data (Any) –

property length: int
search(data)
Parameters:

data (Any) –

Return type:

int | None

property tail: _Node | None
traverse()

my_package.data_structures.queue module

Queue Module

class my_package.data_structures.queue.Queue(initializer=None)

Bases: object

Custom Queue Data Structure

dequeue()
enqueue(elem)
get_item_at_index(idx)
property peek

my_package.data_structures.set module

Set Module

class my_package.data_structures.set.Set

Bases: object

Custom Set Data Structure

add(elem)
remove(elem)

my_package.data_structures.stack module

Stack Module

class my_package.data_structures.stack.Stack(initializer=None)

Bases: object

Stack Data Structure

append(elem)
pop()
property top

my_package.data_structures.tree module

Module implementing the Tree Data Structure.

Author: Cedric Anover

class my_package.data_structures.tree.Node(label='Node', data=None)

Bases: object

Node of a Tree

property children
property data
delete_child(child)
property descendants
property edges

List of 2-tuples representing the edge from parent to child

insert_child(child)
is_child(child)
property is_internal
property is_leaf
is_parent(parent)
property is_root
property nodes
property num_children
property parent
remove_parent()
replace_parent(new_parent)
class my_package.data_structures.tree.Tree(root_node)

Bases: object

Tree Data Structure.

get_subtree(node)
is_internal(node)
Parameters:

node (Node) –

is_leaf(node)
Parameters:

node (Node) –

is_root(node)
Parameters:

node (Node) –

property leaves
property nodes
remove_by_label_pattern(label_pattern)
Parameters:

label_pattern (str) –

property root
exception my_package.data_structures.tree.TreeInsertionError

Bases: Exception

my_package.data_structures.tree.get_depth(node, root)
Parameters:
my_package.data_structures.tree.get_height(node)
Parameters:

node (Node) –

my_package.data_structures.tree.get_path(leaf, node)
Parameters:
my_package.data_structures.tree.traverse_node(node)

Recursively traverse a nodes and its descendants.

Module contents