C Code for Knapsack, MST, and Shortest Path Algorithms
1. Fractional Knapsack Problem (Greedy Approach)
This implementation solves the Fractional Knapsack Problem using a Greedy Approach. Items are sorted based on their profit-to-weight ratio to maximize the total profit within the given capacity.
C Implementation
#include <stdio.h>
#include <stdlib.h>
struct Item {
int weight, profit;
float ratio;
};
// Comparison function for qsort: sorts items by ratio in descending order
int compare(const void *a, const void *b) {
struct Item Read More
C++ Implementations of Core Algorithms: DP, Graph, Sort
Essential Algorithms Implemented in C++
Longest Common Subsequence (LCS)
The Longest Common Subsequence (LCS) problem is solved here using Dynamic Programming. It calculates the length and reconstructs the actual subsequence of two input strings.
#include <iostream>
#include <string>
#include <vector>
#include <algorithm> // For max function
using namespace std;
int main() {
string X, Y;
cout << "Enter first string: ";
cin >> X;
cout << "Enter Read More
Java EE Concepts: Interceptors, Hibernate, JPA, and Servlets
EJB Interceptors Explained
An interceptor is a class or method that intercepts EJB method calls or lifecycle events. It is used for common tasks like logging, security, transactions, and auditing. It helps avoid duplicate code and keeps business logic separate from system logic. Interceptors can be defined as a separate class or inside the bean. They use annotations to define behavior.
@AroundInvoke is used for method interception, while @PostConstruct and @PreDestroy are used for lifecycle interception.
I/O Management Fundamentals for System Design
I/O Device Fundamentals
Block Devices
Devices that store data in fixed-size blocks (e.g., 512 bytes or 4 KB) and allow for random access. Examples include hard drives, SSDs, and DVDs.
Character Devices
Devices that send or receive a stream of characters. Examples include the keyboard, mouse, and serial ports.
Why can’t you seek with character devices? Data arrives as a real-time stream, making random access impossible.
Memory-Mapped vs. Separate I/O
Separate I/O
The CPU uses special instructions to communicate
Read MoreOperating System File Management: Structure, Implementation, and Operations
File System Structure Fundamentals
A file system is the component of the operating system (OS) that manages the creation, storage, organization, and access of files on storage devices (e.g., hard disks, SSDs, pen drives). The file system structure defines how files are arranged, how directories are organized, and how the OS locates and stores data.
Main Components of File System Structure
1. Files
A file is a collection of related information stored together—such as a text file, image, or video.
Each
Read MoreCore Design Principles and Architectural Models for Distributed Systems
Distributed Systems Architectures (CPSC 5520, Fall 2022)
Instructor: Kevin Lundeen
Design Considerations in Distributed Systems
This section covers the fundamental criteria and challenges involved in designing robust distributed systems.
Design Criteria vs. Motivation
Compare this design considerations topic to the motivations presented in the Overview Lecture (slide 16):
Key Design Criteria
-
Support Sharing of Resources
Examples:
- Cloud-based shared storage and files
- Peer-to-peer assisted multimedia streaming
- Shared
