Discrete Mathematical Algorithm, and Data Structure
Discrete Mathematical Algorithm, and Data Structure
Major Components of Mathematics, and Computer Science Explained with the help of C, C++, PHP, Java, C#, Python, and Dart
About the Book
Readers will learn discrete mathematical abstracts as well as its implementation in algorithm and data structures.
I have shown examples using various programming languages.
I have used as C, C++, PHP, Java, C#, Python and Dart. This book combines two major components of Mathematics and Computer Science under one roof.
Firstly, without the core conceptions and tools derived from discrete mathematics, one cannot understand the abstract or the general idea involving algorithm and data structures in Computer Science.
Secondly, the objects of data structures are basically objects of discrete mathematics.
As a result, this book tries to bridge the gap between two major components of Mathematics and Computer Science.
Finally, in any computer science course, studying discrete mathematics is essential, although they are taught separately.
Certainly, there is exception and that proves the rule. Yet, a comprehensive book, combining these two major components, is hard to find out.
Not only that, it is almost impossible to understand one without the help of other.
Consequently, I hope, this book will fill the gap.
Therefore, readers will learn discrete mathematical abstracts as well as its implementation in algorithm and data structures.
Since readers use different programming languages, I try to show examples in different programming languages.
I have used C, C++, PHP, Java, C#, Python and Dart. However, another very basic concept of programing language has motivated me to use such disparate languages.
After all, basic concepts are same in every language. Especially the algorithm and data structure concepts. Although the syntax is different.
As this book combines two major components of Computer Science under one roof, I hope students of Computer Science may find some food for thought.
The book covers the following chapters, you see below, although it’s quite tentative, as it might change a little bit while writing the book.
Table of Contents

1. Introduction to the Discourse
 Is Discrete Mathematics enough to study Computer Science?
 A short Introduction to Discrete Mathematics
 What is Discrete Mathematics
 What is the relationship between Discrete Mathematics and Computer Science
 Introducing necessary conceptions
 QUIZZ and Challenge on Chapter One

2. Introduction to Programming Language and Boolean Algebra
 Logic, Mathematics, and Programming Language
 Introduction to Boolean Algebra
 QUIZZ and Challenge on on Chapter Two

3. De Morgan’s Laws on Boolean Algebra, Logical Expression, and Algorithm
 Logical Expression
 Short Circuit Evaluation
 Syntax, Semantics and Conditional Execution
 Why we need Control Constructs
 Discrete Mathematical Notations and Algorithm
 QUIZZ and Challenge on Chapter Three

4. Data Structures in different Programming languages
 Mean, Median and Mode
 Array, the First Step to Data Structure
 Let us understand some Array features
 Set Theory, Probability and Array
 Skewed Mean, Maximized Median
 Complex Array Algorithm
 QUIZZ and Challenge on Chapter Four
 printing result

5. Data Structures: Abstractions and Implementation
 How objects work with each other
 More Algorithm and Time Complexity
 Introducing Data Structures
 How Calculus and Linear Algebra are Related to this Discourse
 QUIZZ and Challenge on Chapter Five

6. Data Structures in Detail
 Frequently Asked Questions about Data Structures
 Abstract Data Type (ADT)
 Linear Data Structures
 Modeling of a Structure
 ArrayList to overcome limitations of Array
 ArrayList or LinkedList, which is faster?
 Collection Framework in programming languages
 Stack and Queue in Java
 Deque, a highperformance Abstract Data Type
 QUIZZ and Challenge on Chapter Six
 Challenge 1 : Can we test in a program whether the Stack has been overflowed or not?
 Challenge 2 : Can you convert an array to a queue and use all the queue methods to manipulate that array?
 Challenge 3 : Why LinkedList consumes less memory than ArrayList. Write a program and explain why it happens.
 Challenge 4 : Can you give examples of hybrid linear data structure that provides all the capabilities of stacks and queues under one roof?

7. Algorithm, Data Structure, Collection Framework and Standard Template Library (STL)
 Introducing Algorithm Library
 Different types of Algorithms
 Binary Tree and Data Structure
 Collection Framework in Java
 Discrete Mathematical Abstractions and Implementation through Java Collection
 Comparator, Comparable and Iterator
 Standard Template Library in C++
 QUIZZ on Chapter Seven
 Challenge 1 : Standard Template Library (STL) provides many generic versions of standard algorithms that replace our lowlevel plumbing. Can you show the difference by writing code.
 Challenge 2 : Can you prove with an example how the STL makes a difference when we want to sort a list of data.
 Challenge 3 : Using recursion in programing is closer to our discrete mathematical definitions. Can you prove it?
 Challenge 4 : Recursive algorithm should have a base case. Write a program where we can proceed towards the base case and a condition to stop the recursion.
 Challenge 5 : Can you prove that Discrete Mathematics, data structure and algorithm are interconnected?
 Challenge 6 : Can you create a general template class and method that will allow to pass any data of your choice.

8. Time Complexity
 Order of n, or O(n)
 Big O Notation
 QUIZZ on Chapter Eight
 Challenge 1 : Data structures are discrete structures and hence, the algorithms are all about discrete structures. Write a program to establish a relationship between algorithms and discrete mathematics
 Challenge 2 : How we can get the total of a series of positive integers that starts from 0 and ends at 5. Can it be done recursive way?
 Challenge 3 : Detect the main problem in the code below and rewrite it in proper way.

9. Set, Symmetric Difference and Propositional Logic
 Why Set is important in Data Structures
 How Symmetric Difference and Propositional Logic combine
 QUIZZ on Chapter Nine
 Challenge 1 : Why the Set implementation ‘HashSet’ is better than the generalpurpose Set implementation ‘TreeSet’? Can you compare and prove that?
 Challenge 2 : Can you combine Symmetric Difference and Propositional Logic in one program? You can write it in any programming language.
 Challenge 3 : In discrete mathematical paradigms, Set abstraction is basically chaotic, and unordered. However, no duplicate element is allowed in the world of Set. Can you prove it?

10. Combinatorics and Counting, Permutation and Combinations
 Permutation and Combination
 QUIZZ on Chapter ten
 Challenge 1 : How many ways we can rearrange 5 balls.
 Challenge 2 : Suppose you have a string “abcd”. You are aked to rearrange the String. How many ways could you rearrange the String when repetition is allowed? Here repetition means, you can rearrange this way: bacd, cdba, dbac, etc.
 Challenge 3 : Can you show the difference between two types of permutation,where repetition is not allowed and allowed.
 What Next
Causes Supported
Amazon Watch
Supporting Indigenous Peoples. Protecting the Amazon.
http://amazonwatch.orgAmazon Watch is a nonprofit organization founded in 1996 to protect the rainforest and advance the rights of indigenous peoples in the Amazon Basin. We partner with indigenous and environmental organizations in campaigns for human rights, corporate accountability and the preservation of the Amazon's ecological systems.
Other books by this author
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 nonrefunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books inprogress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copyprotection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them