Note: This Note is Prepared By one of The Gems Of IIT-BHU For You Guys...!!
Please Download And Share In Your Frnds..!!
____________Maths Notes(Click here)_______________ or Just Copy the Link And Paste Link- https://docs.google.com/file/d/0B14srbnImPKeeGhBVWxWTU56M0E/edit?usp=sharing
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently. Different kinds of data structures are suited to different kinds of
applications, and some are highly specialized to specific tasks. For
example, B-trees are particularly well-suited for implementation of databases, while compiler implementations usually use hash tables to look up identifiers. Data structures provide a means to manage large amounts of data efficiently, such as large databases and internet indexing services. Usually, efficient data structures are a key to designing efficient algorithms. Some formal design methods and programming languages
emphasize data structures, rather than algorithms, as the key
organizing factor in software design. Storing and retrieving can be
carried out on data stored in both main memory and in secondary memory.
A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code).The most common reason for wanting to transform source code is to create an executable program.
The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine code). If the compiled program can run on a computer whose CPU or operating system is different from the one on which the compiler runs, the compiler is known as a cross-compiler. A program that translates from a low level language to a higher level one is a decompiler. A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter. A language rewriter is usually a program that translates the form of expressions without a change of language.
Structure of a compiler
Compilers bridge source programs in high-level languages with the
underlying hardware. A compiler verifies code syntax, generates
efficient object code, performs run-time organization, and formats the
output according to assembler and linker conventions. A compiler consists of:
The front end: Verifies syntax and semantics, and generates an intermediate representation or IR of the source code for processing by the middle-end. Performs type checking by collecting type information. Generates errors and warning, if any, in a useful way.
The middle end: Performs optimizations, including removal of
useless or unreachable code, discovery and propagation of constant
values, relocation of computation to a less frequently executed place
(e.g., out of a loop), or specialization of computation based on the
context. Generates another IR for the backend.
The back end: Generates the assembly code, performing register allocation in process. (Assigns processor registers
for the program variables where possible.) Optimizes target code
utilization of the hardware by figuring out how to keep parallel execution units busy, filling delay slots. Although most algorithms for optimization are in NP, heuristic techniques are well-developed.
Automata theory is the study of abstract machines (or more
appropriately, abstract 'mathematical' machines or systems) and the
computational problems that can be solved using these machines. These
abstract machines are called automata. Automata comes from the Greek
word (Αυτόματα) which means that something is doing something by itself.
Automata theory is also closely related to formal language theory, as
the automata are often classified by the class of formal languages they
are able to recognize. An automaton can be a finite representation of a
formal language that may be an infinite set.
Curriculum vitaeA curriculum vitae (CV) provides an overview of a person's
experience and other qualifications. In some countries, a CV is
typically the first item that a potential employer encounters regarding the job seeker and is typically used to screen applicants, often followed by an interview, when seeking employment.
-> Introduction to Automata Theory, Languages and Computation , John E. Hopcroft, -> Formal Languages And Automata Theory , K V N Sunitha, N Kalyani *
OPERATING SYSTEM
-> Operating System Concepts by Galvin,Silberswatz -> SCHAUM SERIES , Archer J Harris *
DATA STRUCTURE
-> Data StructuresandProgram Designin C++ Prentice Hall ,Robert L. Kruse Alexander J. Ryba -> Data Structures (Schaum’s Outline Series) by Seymore Lipshutz * -> Fundamentals of Data Structures in C 2nd by Sartaj Sahni, Susan Anderson-Freed, Ellis Horowitz
DIGITAL LOGIC -> Digital Logic Design by Morris Mano -> Fundamentals of digital circuit by anand kumar *
COMPUTER ARCHITECTURE
-> Computer System Architecture by Morris Mano -> fundamental of computer architecture , Mostafa Abd-El-Barr ,Hesham El-Rewini *
COMPUTER NETWORKS
-> computer networks by andrew s tanenbaum *
DATABASE
-> Database System Concepts by Korth,Sudershan & Silberswatz -> Fundamental Of Database Systems by Elmsari, Navathe -> Schaum's Outline of Fundamentals of Relational Databases *
-> Elements of Discrete Mathematics : C l Liu -> Introduction to Graph Theory , Douglas B. West * ->
Higher Engineering Mathematics B,S grewal // one serious advise don't
read this book crappy book only good if you already know maths no
learning curve. good alternative for this will be Advanced
Engineering Mathematics by Erwin Kreyszig
Software/web tech/aptitute/english is more or less like general knowledge Books
with * mark after it may not be the best book but they are very easy to
understand and will develop your interest atleast in my case :) ************************************************************************************** All resources ************************************************************************************** you are advised to copy all this content to your own mediafire account just click on add to my account . This
may get deleted at some point of time and I may not reupload but when I
get time probably I may create mirrors and alternate links .
************************************************************************************** Video lectures which are too good
**************************************************************************************
For Any Question, Ask Here-- "Click Here" Join Gate Community-- "Click Here" GATE E books Download: The GATE exams will be conducted every
year by one of the eight Indian Institute of Technology across India.
For This year the IIT kharagpur will be conducting the GATE exam. Many
lakhs of candidates will be appearing for this exam. Some intend to wish
for higher studies and other wish for government jobs. So those
candidates appearing for the exam can download the prescribed books and
study for the exams. Many dealers will be providing different types of
books, so the candidates can select only the prescribed author.