Tag: Data Structure

Binary Decision Diagram Data Structure

A BDD (Bryant 1986) or branching program is a data structure that is used to represent a Boolean function. On a more abstract level, BDDs can be considered as a compressed representation of sets or relations. Unlike other compressed representations, operations are performed directly on the compressed representation, i.e. without decompression.

Read More

Trie Data Structure

A trie (Fredkin, 1960), also called digital tree and sometimes radix tree, is an ordered multi-way tree data structure that is used to store a dynamic set or associative array where the keys are usually strings. Unlike a binary search tree, no node in the tree stores the key associated with that node; instead, its position in the tree defines the key with which it is associated.

Read More

The Future Of Programming: Top Languages All Programmers Should Know

Many jobs in the IT industry require mastery of programming languages. If you are planning to establish a career that requires mastering these skills, it’s a good idea to look into them well ahead of time. Like any other skill, programming takes effort, time, and money to learn. Because of this, you want to make sure you obtain the knowledge required in the position you are aiming for. Here are the top programming languages every programmer should know.

Read More

LRU and FIFO L1 Cache Implementation using C

This is a C program to demonstrate cache mechanism by simulating a cache in C. The source code can run in any C Compiler with minor modifications if required. It can run on real memory traces as input to your cache simulator. We have implemented two cache replacement policies i.e. least recently used (LRU) and First-in first-out (FIFO) replacement policies.

Read More

C Algorithms Library

This article is about a collection of common Computer Science algorithms which may be used in C projects. The C Programming Language has a much smaller Standard Library as compared to other more modern programming languages such as Java or Python. The library provides a basic set of mathematical functions, string manipulation, type conversions, and file and console-based I/O.

Read More

Find the middle element of linked list in C

In order to find middle element of linked list in one pass, you need to maintain two pointers, one increment at each node while other increments after two nodes at a time. By having this arrangement, when first pointer reaches end, second pointer will point to middle element of linked list.

Read More

Free Programming Abstractions Course – SEE

Stanford Engineering Everywhere (SEE) offers few computer science courses to students online and at no charge. Programming Abstractions course covers advanced programming topics such as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java.

Read More