- Lempel–Ziv (LZ) compression for lossless data storage
[ Download ]
- Heap Sort ( with running time measurement)
[ Download ]
- Imagine a graph that consists of directional links between nodes identified by small non-negative integers < 216. We define a “cycle” in thegraph as a nonempty set of links that connect a node to itself. Imagine an application that allows insertion of links, but wants to prevent insertion of links that close cycles in the graph. For example, starting from an empty graph, inserting a link 1 -> 2 succeeds, but inserting a second link 2 -> 1 would fail, since it would close the cycle 1 -> 2 -> 1.
[ Download ]
- Write a function that returns a node in a tree given two parameters: pointer to the root node and the inorder traversal number of the node we want to return. The only information stored in the tree is the number of children for each node.
[ Download ]
- Write a function that given a list of items and weights return a random item in the list, taking the weights into account.
[ Download ]
- Create a C procedure getTime() that can be used to return the execution time of code segments by calling it before the code segment is executed and again after the code segment is executed.
[ Download ]
- Write a C program to compute and output to a file all the prime numbers less than 2 × 10^9, using the standard “sieve” method.
[ Download ]
- Implement a random-number generator using only getpid() and gettimeofday() but without using any mathematical functions or the standard rand() function. Test the efficacy of your random generator using standard statistical or empirical tests [Knuth, vol.2].
[ Download ]
- Implementation of a priority queue that holds up to 1000 elements, which may have up to 10 priority levels associated with them.
[ Download ]
- Write a multithreaded program, with two producer threads and a single consumer threads. The producers should add to a shared queue, and the consumer should dequeue it. Use a mutex lock to avoid race conditions. (Using Pthreads)
[ Download ]
- Write a multithreaded program that simply interacts with a user at a console to receive a series of numbers (floats or ints) and generates statistics on them. One thread should interact with the user and receive inputs (until the user wants to finish); at each input, it should pass on the data to another thread that computes the count, sum, average, and standard deviation of the data. When the user is done, the first thread should terminate, the second thread should hand off the data to a newly-created third thread and terminate, and the third thread should echo the output to stdout and then terminate (at which time the whole process also terminates). (Using Pthreads)
[ Download ]
- Write a Unix program that creates a child process that prints a greeting, sleeps for 20 seconds, and then exits. The parent process should print a message before creating the child, another after the child has terminated, and then exit.
[ Download ]
- Find the nth derivative of a function given in tabular form.
[ Download ]
- Find the solution of a second order differential equation.
[ Download ]
- Find the solution of an nXn system of linear equations.
[ Download ]
- Efficient implementation of Fibonacci series using Matrix Form.
[ Download ]
- Generic Finite State Machine (FSM).
[ Download ]
- Symbolic logic.
[ Download ]
- Array based and pointer based Linked lists
[ Download ]
- String processing routines
[ Download ]
- Remove duplicate elements from an array
[ Download ]
- Convert Date to day
[ Download ]
- Playing with Numbers and Digits
[ Download ]