ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Data Structures

دانلود کتاب ساختارهای داده

Data Structures

مشخصات کتاب

Data Structures

دسته بندی: الگوریتم ها و ساختارهای داده
ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 9718978062 
ناشر: Electronics Hobbyists Publishing House 
سال نشر: 2007 
تعداد صفحات: 547 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 3 مگابایت 

قیمت کتاب (تومان) : 38,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 9


در صورت تبدیل فایل کتاب Data Structures به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب ساختارهای داده نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Table of Contents
Session 1: Basic Concepts
	1.1: How do we solve a problem on a computer?
	1.2: What is a data structure?
	1.3: What is an algorithm?
	1.4: Implementing ADT's
		1.4.1: The contiguous or sequential design
		1.4.2: The linked design
	1.5: Putting it all together: formulating a solution to the ESP
	Summary
	Exercises
Session 2: Mathematical Preliminaries
	2.1: Mathematical notations and elementary functions
		2.1.1: Floor, ceiling and mod functions
		2.1.2: Polynomials
		2.1.3: Exponentials
		2.1.4: Logarithms
		2.1.5: Factorials
		2.1.6: Fibonacci numbers
	2.2: Sets
	2.3: Relations
	2.4: Permutations and Combinations
		2.4.1: Rule of sum and rule of product
		2.4.2: Permutations
		2.4.3: Combinations
	2.5: Summations
		2.5.1: Arithmetic series
		2.5.2: Geometric series
		2.5.3: Harmonic series
		2.5.4: Miscellaneous sums
	2.6: Recurrences
	2.7: Methods of proof
		2.7.1: Proof by mathematical induction
		2.7.2: Proof by contradiction (reductio ad absurdum)
		2.7.3: Proof by counterexample
	Summary
	Exercises
Session 3: Algorithms
	3.1: Communicating an algorithm
		3.1.1: The EASY assignment statement
		3.1.2: The EASY unconditional transfer statements
		3.1.3: The EASY conditional transfer statements
		3.1.4: The EASY iteration statements
		3.1.5: The EASY input/output statements
		3.1.6: The EASY declaration statements
		3.1.7: The EASY control statements
		3.1.8: EASY program structure
		3.1.9: Sample EASY procedures
	3.2: Analyzing an algorithm
		3.2.1: Analysis of insertion sort
		3.2.2: Asymptotic notations
		3.2.3: The O-notation
		3.2.4: The Ω-notation
		3.2.5: The Θ-notation
		3.2.6: The preponderance of the O-notation
		3.2.7: Comparative growth of functions
		3.2.8: Complexity classes
	Summary
	Exercises
Session 4: Stacks
	4.1: Sequential implementation of a stack
		4.1.1: Implementing the auxiliary operations
		4.1.2: Implementing the insert operation
		4.1.3: Implementing the delete operation
		4.1.4: A Pascal implementation of the array representation of a stack
		4.1.5: A C implementation of the array representation of a stack
	4.2: Linked list inplementation of a stack
		4.2.1: Implementing the auxiliary stack operations
		4.2.2: Implementing the insert operation
		4.2.3: Implementing the delete operation
		4.2.4: A Pascal implementation of the linked list representation of a stack
		4.2.5: A C implementation of the linked list representation of a stack
	4.3: Application of stacks
		4.3.1: A simple pattern recognition problem
		4.3.2: Conversion of arithmetic expressions from infix to postfix form
	4.4: Sequential implementation of multiple stacks
		4.4.1: The coexistence of two stacks in a single array
		4.4.2: The coexistence of three or more stacks in a single array
		4.4.3: Reallocating memory at stack overflow
	Summary
	Exercises
Session 5: Queues and Deques
	5.1: Sequential implementation of a straight queue
		5.1.1: Implementing the insert operation
		5.1.2: Implementing the delete operation
	5.2: Sequential implementation of a circular queue
		5.2.1: Implementing the insert and delete operations for a circular queue
		5.2.2: A C implementation of the array representation of a circular queue
	5.3: Linked list implementation of a queue
		5.3.1: Implementing the insert operation
		5.3.2: Implementing the delete operation
		5.3.3: A C implementation of the linked list representation of a queue
	5.4: Application of queues: topological sorting
	5.5: The deque as an abstract data type
	5.6: Sequential implementation of a straight deque
		5.6.1: Implementing the insert operation
		5.6.2: Implementing the delete operation
	5.7: Sequential implementation of a circular deque
		5.7.1: Implementing the insert and delete operations for a circular deque
		5.8: Linked list implementation of a deque
			5.8.1: Implementing the insert and delete operations
	Summary
	Exercises
Session 6: Binary trees
	6.1: Definitions and related concepts
	6.2: Binary tree traversals
	6.3: Binary tree representation in computer memory
	6.4: Implementing the traversal algorithms
		6.4.1: Recursive implementation of preorder and postorder traversal
		6.4.2: Iterative implementation of preorder and postorder traversal
		6.4.3: Applications of the traversal algorithms to other operations on binary trees
	6.5: Threaded binary trees
		6.5.1: Finding successors and predecessors in a threaded binary tree
		6.5.2: Traversing inorder threaded binary trees
		6.5.3: Growing threaded binary trees
		6.5.4: Similarity and equivalence of binary trees
	6.6: Traversal by link inversion
	6.7: Siklossy traversal
	Summary
	Exercises
Session 7: Applications of binary trees
	7.1: Calculating conveyance losses in an irrigation network
	7.2: Heaps and the heapsort algorithm
		7.2.1: Sift-up: converting a complete binary tree into a heap
		7.2.2: The heapsort algorithm of Floyd and Williams
	7.3: Priority queues
		7.3.1: Unsorted array implementation of a priority queue
		7.3.2: Sorted array implementation of a priority queue
		7.3.3: Heap implementation of a priority queue
	Summary
	Exercises
Session 8: Trees and forests
	8.1: Definition and related concepts
	8.2: Natural correspondence
	8.3: Forest traversal
	8.4: Linked representation for trees and forests
	8.5: Sequential representation for trees and forests
		8.5.1: Representing trees and forests using links and tags
		8.5.2: Arithmetic tree representations
	8.6: Trees and the equivalence problem
		8.6.1: The equivalence problem
		8.6.2: Degeneracy and the weighting rule for union
		8.6.3: Path compression: the collapsing rule for find
		8.6.4: Analysis of the union and find operations
		8.6.5: Final solution to the equivalence problem
	Summary
	Exercises
Session 9: Graphs
	9.1: Some pertinent definitions and related concepts
	9.2: Representation of graphs
		9.2.1: Adjacency matrix representation of a graph
		9.2.2: Adjacency lists representation of a graph
	9.3: Graph traversals
		9.3.1: Depth first search
		9.3.2: Breadth first search
	9.4: Some classical applications of DFS and BFS
		9.4.1: Identifying directed acyclic graphs
		9.4.2: Topological sorting
		9.4.3: Finding the strongly connected components of a digraph
		9.4.4: Finding articulation points and biconnected components of a connected undirected graph
		9.4.5: Determining whether an undirected graph is acyclic
	Summary
	Exercises
Session 10: Applications of graphs
	10.1: Minimum-cost spanning trees for undirected graphs
		10.1.1: Prim's algorithm
		10.1.2: Kruskal's algorithm
	10.2: Shortest path problems for directed graphs
		10.2.1: Dijkstra's algorithm for the SSSP problem
		10.2.2: Floyd's algorithm for the APSP problem
		10.2.3: Warshall's algorithm and transitive closure
	Summary
	Exercises
Session 11: Linear lists
	11.1: Linear Lists
	11.2: Sequential representation of linear lists
	11.3: Linked representation of linear lists
		11.3.1: Straight singly-linked linear list
		11.3.2: Straight singly-linked linear list with a list head
		11.3.3: Circular singly-linked linear list
		11.3.4: Circular singly-linked linear list with a list head
		11.3.5: Doubly-linked linear lists
	11.4: Linear lists and polynomial arithmetic
	11.5: Linear lists and multiple-precision integer arithmetic
		11.5.1: Integer addition and subtraction
		11.5.2: Integer multiplication
		11.5.3: Representing long integers in computer memory
		11.5.4: EASY procedures for multiple-presicion integer arithmetic
	11.6: Linear lists and dynamic storage management
		11.6.1: The memory pool
		11.6.2: Sequential-fit methods: reservation
		11.6.3: Sequential-fit methods: liberation
		11.6.4: Buddy-system methods: reservation and liberation
	11.7: Linear lists and UPCAT processing
		11.7.1: Determining degree program qualifiers within a campus
		11.7.2: Implementation issues
		11.7.3: Sample EASY procedures
	Summary
	Exercises
Session 12: Generalized lists
	12.1: Definitions and related concepts
	12.2: Representing lists in computer memory
	12.3: Implementing some basic operations on generalized lists
	12.4: Traversing pure lists
	12.5: Automatic storage reclamation
		12.5.1: Algorithms for marking and gathering
	Summary
	Exercises
Session 13: Sequential tables
	13.1: The table ADT
	13.2: Direct-address table
	13.3: Static sequential tables
		13.3.1: Linear serach in a static sequential table
		13.3.2: Binary search in an ordered static sequential table
		13.3.3: Multiplicative binary search
		13.3.4: Fibonaccian search in an ordered sequential table
	Summary
	Exercises
Session 14: Binary search trees
	14.1: Binary search trees
		14.1.1: Implementing some basic operations for dynamic tables
		14.1.2: Analysis of BST search
	14.2: Height-balanced binary search trees
	14.3: Rotations on AVL trees
	14.4: Optimum binary search trees
	Summary
	Exercises
Session 15: Hash tables
	15.1: Converting keys to numbers
	15.2: Choosing a hash function
		15.2.1: The division method
		15.2.2: The multiplicative method
	15.3: Collision resolution by chaining
		15.3.1: EASY procedures for chained hash tables
		15.3.2: Analysis of hashing with collision resolution by chaining
	15.4: Collision resolution by open addressing
		15.4.1: Linear probing
		15.4.2: Quadratic probing
		15.4.3: Double hashing
		15.4.4: EASY procedures for open-address hash tables
		15.4.5: Ordered open-address hash tables
		15.4.6: Analysis of hashing with collision resolution by open addressing
	Summary
	Exercises
Bibliography
Index




نظرات کاربران