COCOMO 1 and COCOMO 2 are two cost estimation models, developed by Barry Boehm. These two cost estimation models are used for computing the cost of software development. The most basic difference between these two models is that the COCOMO 1 model helps to provide the estimates required for the efforts and schedule, whereas the COCOMO 2 model provides the estimates that represent a standard deviation near the most likely estimate. Read this article to learn more about the COCOMO 1 and COCOMO 2 models and how they are different from each other. What is COCOMO 1? COCOMO 1 was the first model developed ... Read More
An Index is a lookup table associated with an actual table or View that is used by the database to improve the data retrieval performance timing. In an index, keys are stored in a structure (B-tree) that enables SQL Server to find the rows associated with the key values quickly and efficiently. Index gets created automatically if the primary key and unique key constraints are defined on the table. There are two types of index namely, Clustered Index and Non-Clustered Index. Read this article to learn more about clustered index and non-clustered index and how they are different from each ... Read More
A CALL instruction is used to call a subroutine, while a JUMP instruction updates the program counter value and makes it point to another location inside the program. Read this article to learn more about CALL and JUMP instructions and how they are different from each other. What is a CALL Instruction? A CALL instruction is utilized to call a sub-routine. Using a CALL instruction, the program control is transferred to a location in memory that is not a part of the main program. A CALL instruction necessarily requires the initialization of a Stack Pointer (SP). It is basically ... Read More
Memory plays a vital role in any computer system and it is very important to understand how it works and how it stores the data. In general, we know that computer memory stores the data after converting into bits or bytes (which is nothing but collection of bits). In this article, we are going to explain how this storage take place and how to address those storage blocks. Data, or in simple language, every word that we provide to a computer system is being stored in a memory, whether in temporary cache or permanent memory. But before storing it to ... Read More
The task of arranging elements of an array in a particular order is referred to as sorting. The sorting of an array or a list is mainly done to make the searching easier. There are two types of sorting algorithms namely, Bubble Sort and Selection Sort. Bubble sort performs sorting of data by exchanging the elements, while the selection sort performs sorting of data by selecting the elements. Read this article to learn more about bubble sort and selection sort and how these two sorting techniques are different from each other. What is Bubble Sort? Bubble sort is a simple ... Read More
In Go Programming language, a linked list is a data structure which contains a node that further contains two values, the data and the next, where next points to the next node in the list. We will use two methods in this program to access elements from a linked list. In the first example iteration will be used and in the second example a variable current will be used to access the elements. Method 1: Using Iteration This program builds a linked list with three members and iterates through it to access and output each element's value. The output ... Read More
In Go, a linked list is a linear data structure with pointers connecting the items, and from the first node (head) to the last node, each node can be visited (tail). We will execute the program of removing elements from the linked list using two examples. The first example uses node struct whereas the second example uses a dummy node Method 1: Using Node Struct This code creates a Node struct that has two fields: Value and Next, which links to the next node in the list. The remove_node method removes the node with the supplied value from the list ... Read More
In golang, a linked list is a unique data structure in which there is a value in the node and the next pointer which points to the next node. The list's initial node is referred to as the head, while the list's last node which points to nil depicts the end of list. We will add elements at the first and last position of the linked list using two examples. In the first example node struct will be used and in the second example ListNode struct will be used. Method 1: Using Node Struct In this method, we will use ... Read More
There are two types of non-linear data structures namely, B-Tree and Binary Tree. These two terms sound similar but they are absolutely different from each other. The most basic difference between a B-Tree and a Binary Tree is that a B-Tree is used for data storage on a disk, whereas a Binary Tree is used for data storage in RAM. Read this article to learn more about B-tree and Binary Tree and how they are different from each other. What is a B-Tree? B-Tree, also called Balanced Sort Tree, is a type of balanced M-way tree. In a B-tree, the ... Read More
In this Golang program, a queue is a data structure that works on the First-In-First-Out (FIFO) principle where elements are added to the rear and removed from the front. Although Go doesn't come with a built-in queue data structure, slices, linked lists, and other data structures can be used to build one. We will use two methods to implement queue data structure using slices and linked list. Method 1: Using Slice Method The fundamental operations for a queue data structure: Enqueue, Dequeue, and IsEmpty are implemented in this implementation, which employs a slice to hold the items in the ... Read More