Professional Documents
Culture Documents
Visvesvaraya Technological University: "File Compression Using Huffman Coding"
Visvesvaraya Technological University: "File Compression Using Huffman Coding"
Bachelor of Engineering
In
Information Science & Engineering
By
U SUMUK PATIL
(1CR19IS167)
YASH NEGI
(1CR19IS176)
NIKHIL RAJ RAUNIYAR
(1CR19IS181)
Under the Guidance of
Shilpa Mangesh Pande
Associate Professor, Dept. of ISE
i
DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING
i
CMR INSTITUTE OF TECHNOLOGY
#132, AECS LAYOUT, IT PARK ROAD, KUNDALAHALLI,
BANGALORE-560037
CERTIFICATE
This is to certify that the File Structure Project work entitled “WORKING OF
AVL TREES ” has been carried out by U SUMUK PATIL (1CR19IS167) ,
YASH NEGI (1CR19IS1176) and NIKHIL RAJ RAUNIYAR(1CR19IS181)
bonafide students of CMR Institute of Technology in partial fulfilment for the
award of Bachelor of Engineering in Information Science and Engineering
of the Visvesvaraya Technological University, Belgaum during the year 2021-
2022. It is certified that all corrections/suggestions indicated for Internal
Assessment have been incorporated in the Report deposited in the departmental
library. This DBMS Project Report has been approved as it satisfies the
academic requirements in respect of project work prescribed for the said degree.
i
External Examiner
Name of the examiners Signature with date
1.
2.
i
ABSTRACT
This project focuses on AVL tree and the various operations that are performed
in AVL tree. These operations are namely insertion, deletion, searching, and
traversal. This project in brief discusses about the all the operation of AVL tree.
In computer science, an AVL tree is a self-balancing binary search tree. It was
the first such data structure to be invented. In an AVL tree, the heights of the
two child subtrees of any node differ by at most one; if at any time they differ
by more than one, rebalancing is done to restore this property. Lookup,
insertion, and deletion all take O(log n) time in both the average and worst
cases, where n is the number of nodes in the tree prior to the operation.
Insertions and deletions may require the tree to be rebalanced by one or more
tree rotations.
i
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompany a successful completion of any
task would be incomplete without the mention of people who made it possible.
Success is the epitome of hard work and perseverance, but steadfast of all is
encouraging guidance. So, with gratitude we acknowledge all those whose
guidance and encouragement served as beacon of light and crowned our effort
with success.
We express our sincere gratitude to our Principal Dr. Sanjay Jain, & Vice
Principal Dr. B Narasimha Murthy, CMR Institute of Technology for
providing excellent facilities.
Conclusively, we also thank our family, friends, seniors and all others who have
done immense help directly or indirectly during the project work.
THANK YOU
U SUMUK PATIL(USN-1CR19IS167)
i
NIKHIL RAJ RAUNIYAR(1CR19IS181)
i
TABLE OF CONTENT
Title Page No
Abstract ……………………………………………………………..........i
Acknowledgement …………………………………………………...….ii
Table of content………………………………………………….…...…iii
CHAPTER 1
1. Introduction
CHAPTER 2
2. Problem Statement
CHAPTER 3
3. Design
3.1 Algorithm……………………………………………………………….5
CHAPTER 4
4. Code Snippets………………………………………………………………6
CHAPTER 5
CHAPTER 6
i
6. Conclusion………………………………………..………………16
REFERENCES…………………………………………………………17
i
CHAPTER 1
INTRODUCTION
In computer science, an AVL tree is a self-balancing binary search
tree. It was the first such data structure to be invented. In an AVL
tree, the heights of the two child subtrees of any node differ by at
most one; if at any time they differ by more than one, rebalancing is
done to restore this property. Lookup, insertion, and deletion all take
O(log n) time in both the average and worst cases, where n is the
number of nodes in the tree prior to the operation. Insertions and
deletions may require the tree to be rebalanced by one or more tree
rotations
History
Early work with files presumed that files were on tape, since most
files were. Access was sequential, and the cost of access grew in
direct proportion, to the size of the file. As files grew intolerably large
for unaided sequential access and as storage devices such as hard
disks became available, indexes were added to files. The indexes
made it possible to keep a list of keys and pointers in a smaller file
that could be searched more quickly. With key and pointer, the user
had direct access to the large, primary file. But simple indexes had
i
some of the same sequential flaws as the data file, and as the indexes
grew, they too became difficult to manage, especially for dynamic
files in which the set of key changes. In 1963, researches developed
and elegant self-adjusting binary tree structure, called AVL tree, for
data in memory, with a balanced binary tree, dozens of accesses were
required to find a record in even moderate-sized files. A method was
needed to keep a tree balanced when each node of the tree was not a
single record, as in a binary tree, but a file block containing dozens,
perhaps even hundreds, of records took 10 years until a solution
emerged in the form of a B-Tree