Monday, November 13, 2017

New algorithm learning


Prim's Algorithm - step by step guide


Kruskal's Algorithm - step by step guide


Dijkstra's Algorithm Level 1 of 2 - step by step guide


Dijkstra's Algorithm Level 2 of 2 - step by step guide

https://www.youtube.com/watch?v=WOCV2UcxNrI&t=1s

Floyd's Algorithm - step by step guide(20.11.17)


B+ Tree Basics 1


B+ Trees Basics 2 (insertion)

https://www.youtube.com/watch?v=_nY8yR6iqx4

B*(Star) Tree,B+ Tree and B Tree Difference

Thursday, August 24, 2017

list of some important link that i found

Math
https://wbdstudy.wordpress.com/2016/01/20/%E0%A6%B8%E0%A6%AE%E0%A6%BE%E0%A6%A8%E0%A7%8D%E0%A6%A4%E0%A6%B0-%E0%A6%A7%E0%A6%BE%E0%A6%B0%E0%A6%BE-%E0%A6%93-%E0%A6%97%E0%A7%81%E0%A6%A3%E0%A7%87%E0%A6%BE%E0%A6%A4%E0%A7%8D%E0%A6%A4%E0%A6%B0/



Bangla sight for web development

http://w3programmers.com/bangla/php-oop-basics/
https://www.sattacademy.com/
http://www.bohudur.com/bd/bangle-tutorial-site-list-to-learn
https://github.com/me-shaon/bangla-programming-resources
http://hukush-pakush.com/chap1
Book list
http://www.somewhereinblog.net/blog/tanbircox/29870696
https://tanbircox.blogspot.com/2013/08/web-programming.html


language learning site
https://www.dyclassroom.com/
http://cpbook.subeen.com/
http://www.sattacademy.com/cprogramming/index.php
http://www.webcoachbd.com/html-tutorials/html-tags
http://tunerpage.com/archives/470855

https://freelancingcare.com/
http://www.codequiz.in/c-intro/

English
https://www.youtube.com/watch?v=AIMrS6kC000
https://www.youtube.com/watch?v=TdtUjWb0O9w&t=6s
https://www.youtube.com/watch?v=GoHV4W5vxCo

From American center
(PC history collection)
http://takeielts.britishcouncil.org/prepare-test/free-sample-tests/reading-sample-test-1-academic/reading-passage-3

http://dictionary.cambridge.org/dictionary/english/cannonball

https://www.facebook.com/groups/drrajusgre/

From Brother


best spring tutorial site
www.baeldung.comhttp

professional short course ------http://registration.bditec.gov.bd/



http://cse.buet.ac.bd/iac/

Mine

http://techdifferences.com/
http://techmightsolutions.blogspot.com/2012/05/difference-between-insertion-and.html

http://theoryapp.com/selection-insertion-and-bubble-sort/

https://www.titrias.com/ultimate-sorting-algorithms-comparison/

https://www.toptal.com/developers/sorting-algorithms

ICPC-
NCPC-
ACM-

From teacher
for article

https://scholar.google.com/
https://www.coursera.org/

https://www.edx.org/


Tuesday, August 22, 2017

New words I learned list

22 August 2017

Lump =পিণ্ড
Disavow=অস্বীকার করা
Measles=হাম
nonetheless=তবু
riot=দাঙ্গা

Emails content

Apology letter for mix up

I apologize for the mix-up of order #26429782.We have just implemented a new packaging system that still has a few bugs that still needs to be worked out, but we did fix your order and sent it out this morning.For your trouble, we have enclosed a 2000 taka gift certificate which can be used at any of our stores, Once again I would like to apologize for the mix-up in your order and any inconveniences this may have caused you.

sincerely,
Baki
Customer service manager

আমি # ২৬৪২৯৭৮২ অর্ডারের মিশ্রণের জন্য ক্ষমা প্রার্থনা করছি। আমরা একটি নতুন প্যাকেজিং ব্যবস্থা বাস্তবায়ন করেছি যা এখনও কিছু বাগ আছে যা এখনও কাজ করার প্রয়োজন আছে, কিন্তু আমরা আপনার অর্ডার ঠিক করে দিয়েছি এবং আজ সকালে তা পাঠিয়েছি। আপনার সমস্যা জন্য, আমরা আমাদের দোকান থেকে যে ব্যবহার করা যেতে পারে এমন একটি ২০০০ টাকার উপহার সনদপত্রটি ঘিরে আছে, আবার আপনার অর্ডারের মিশ্রণের জন্য আবার আপনার  নিকট ক্ষমাপ্রার্থী   এবং  কোন অসুবিধা আপনার সাথে হতে পারে

Monday, August 14, 2017

Professor E-mailing, SOP & LOR writing and Admission Process

https://www.facebook.com/events/1561399270823177/?acontext=%7B%22ref%22%3A%2223%22%2C%22action_history%22%3A%22null%22%7D

How to Improve Concentration in Studies with Meditation

A few quick tips for young buds to improve their grades. Did you know that meditation is the magic potion for boosting concentration and memory?

Are you one of those who get straight A's in every subject excepting the much-dreaded Mathematics? Numbers spell nightmare to you? And you have tried every coaching class under the sun, expert tutors, practiced pages, made furtive prayers but nothing could prevent that odd queasy feeling from appearing in your stomach, a day before the exam? You have also made a secret resolution to drop the subject at the first opportune moment?
Well, we suggest, drop the fear instead. The big question is ‘HOW?’. Easier said than done.
Well, there’s a sure shot solution to this problem: Meditate!
A study conducted at the University of Pennsylvania showed that even a few minutes of daily meditation can help improve focus and performance.
Here are a few tips to improve your focus and concentration, irrespective of the task at hand.

8 TIPS ON HOW TO IMPROVE CONCENTRATION

  1. Love your subject and it will get you good grades.
  2. Sleep well. You won’t fall asleep in the grammar class.
  3. Eat healthy to avoid a restless mind.
  4. Practice yoga everyday to keep boredom away.
  5. Want to have more time for fun? Do Pranayama.
  6. Make Sudarshan Kriya your daily homework and other homework will become more fun.
  7. Meditate everyday.
  8. Do the Intuition process.
There are many tips on how meditation can be your savior during those most critical times when you need to be extremely attentive, here we are listing down 6 of them.

1. Love your subject and it will get you good grades.

This is a secret. When you love anything, it loves you back. So if you dislike any subject, for a day, drop the hatred! Simply tell your mind, “Today I shall read this with lot of love.” Try it and observe the difference. Do you make an effort to concentrate on a cricket or soccer match or an interesting movie? It just happens, isn’t it? The same holds true for your studies. Like them and you will be able to concentrate better. The result: better grades.

2. Sleep well. You won’t fall asleep in the grammar class.

Those late night chats and hangouts might be “cool” with your buddies but definitely isn’t for your memory.  Brain needs sleep and seven to eight hours is a must. Meditate when you have too much in your plate. A good 20 minutes of meditation every day, preferably in the morning or before lunch time, sharpens the brain cells and if you are regular it will also increase your grey matter.

3. Eat healthy to avoid a restless mind.

You are what you take. Sweets, chocolates, ice-creams and other junk food might be tempting but makes your mind restless and body lethargic. And naturally, your mind is everywhere except your books. Simple connection, right? So choose carefully what you eat. Avoid food with too much spice or sugar and reduce the intake of fried and junk food. Include more fresh fruits and vegetables, juices and salads in your diet.
Note: Ayurvedic medication can also boost concentration. Devavati and Brahmi are a big help. Please consult a Sri Sri Ayurveda doctor for more guidance on Ayurvedic diet and supplements.

4. Practice yoga every day to keep boredom away.

Do Sun Salutation (Surya Namaskar) and Shoulder Stand (Sarvangasana), it helps increase blood circulation to the brain. As a result, there is increased alertness and awareness. Your mind does not digress from the task you are doing and you are also able to perform better.

5. Want to have more time for fun? Do pranayama.

Can you believe that a two-and-a-half-minute pranayama can help retain and improve concentration for three hours? Yes, the concentration pranayama, taught at the Art of Living youth courses, does just that. It helps improve memory and retention power and reduces the time taken to finish your studies, so that you have more time to play and have fun with friends. Cool, isn’t it? Join the Yes!+ Course to learn this fun technique.

6. Make Sudarshan Kriya your daily homework and other homework will become more fun.

Sri Sri Ravishankar gave the world a powerful breathing technique - the Sudarshan Kriya. It cleanses the body and mind and aligns the body with the rhythms of the Universe. It is a one stop solution for good mental and physical health. Learn it and practice daily and your mind will be free of all fears, it will be confident to tackle any subject, clear to take any decision and bold enough to venture into anything new.

7. Meditate Everyday

You can meditate in school, in your college campus, home, or even with friends at a park! In fact, meditating with friends helps in the camaraderie. You can beat the exam blues with a few minutes of meditation, it will also helps you collect your thoughts better and gives clarity to your mind.

8. Do the Intuition Process

Intuition is your sixth sense, your gut feeling and you were born with it. Children inherently have a sharper intuition than adults. The education system today teaches you to rely on your intellect more and hence in the long run you forget to listen to your inner voice. You might go wrong with decisions made from your intellect but your intuition will never fail you. It has been observed that people who uses their intellect to follow their intuition, excel more in life.
This amazing process does just that, it helps you to get in touch with your inner voice. This suddenly makes difficult subjects a child’s play. Maths and numbers become exciting, Chemistry and carbon atoms appear more friendly, Political Science more interesting and dates in history easily accessible from your memory. Fear of examination vanishes and you can even pre-empt portions that should be studied better.
And the best part is, you learn all this, in just two days! Surprised?

Wednesday, August 9, 2017

Problem procedure Format


  1. Name:
  2. Description:
  3. How to occur:(Give the steps)
  4. Is it frequently occur?
  5. Screenshot :
  6. Expected:
  7. Actual:


(It  can be set in Excel file as Question and answer sheet)
After Problem Procedure It have Solution procedure

Free site http://www.redmine.org/
OR Zira tool https://www.atlassian.com/software/jira

Data structures link

1. Stack:Last in first out(LIFO)
PUSH               POP



2.QUEUE:First in first out(FIFO)



3.Linked list:
  1. Linked List contains a link element called first.
  2. Each link carries a data field(s) and a link field called next.
  3. Each link is linked with its next link using its next link.
  4. Last link carries a link as null to mark the end of the list.

  • link
  • Head
  • Node
  • Next
  • Null

Types of linked list

  1. Simple Linked List
  2. Doubly Linked List
  3. Circular Linked List

Basic Operations

  1. Insertion 
  2. Deletion
  3. Display
  4. Search
  5. Delete
https://www.tutorialspoint.com/data_structures_algorithms/linked_list_algorithms.htm








Other:


Lec-17 Linked Lists-I(nptelhrd)

https://www.youtube.com/watch?v=K7VIKlUdo20


Data structures: Linked List implementation of Queue(Mycodeschool)

https://www.youtube.com/watch?v=A5_XdiK4J8A


Introduction to linked list(mycodeschool)

https://www.youtube.com/watch?v=NobHlGUjV3g


Data Structures: Linked Lists (Hackerrank)

https://www.youtube.com/watch?v=njTh_OwMljA

Tuesday, August 8, 2017

Shortcut Key

Sort in MS word                            "Alt+a"   then "s"

Close the current tabCtrl + w or Ctrl + F4
Close all open tabs and the browserCtrl + Shift + w
Minimize the current windowAlt + Space + n
Maximize the current windowAlt + Space + x

Problem solving using Data structure and Algorithms



  1. Binomial heap
  2. Fibonacci Heap
  3. Graphs
  4. Hashing
  5. Heaps
  6. Linked list
  7. Queue
  8. Red black trees
  9. Segment trees
  10. Skip list
  11. Splay trees
  12. Stack 
  13. Ternary search tree
  14. Trees
  15. Tries

Data Structures list

  1. Stack 
  2. Queue
  3. Linked list
  4. Trees
  5. Red black trees
  6. Ternary search tree
  7. Segment trees
  8. Splay trees
  9. Heaps
  10. Hashing
  11. Grapahs
  12. Binomeal heap\
  13. Fibonacci Heap
  14. Skip list
  15. Tries
  16. GCD 
  17. LCM
  18. BST LCA

list of some 28 Tree.(Basic)

There are  approximately 97 tree that i have found.
But here i added basic trees.
  1. Binary tree
  2. BST (binary search tree)
  3. AVL (AdelsonVelski & Landis) Tree
  4. Red black tree
  5. B tree
  6. B - tree
  7. B + tree
  8. B* - tree
  9. R - tree
  10. R + tree
  11. R* tree
  12. K-d tree
  13. Implicit K-d tree
  14. Min-max K-d tree
  15. Relaxed K-d tree
  16. Adaptive K-d tree
  17. cartesian tree
  18. WAVAL tree
  19. Ternary tree
  20. Exponential tree
  21. Range tree
  22. 2-3 tree
  23. 2-3-4 tree
  24. Lexicographic tree
  25. Hash tree
  26. prefix tree
  27. X-fast tree
  28. Y-fast tree

AVL-Tree link

AVL tree is a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees cannot be more than one for all nodes.

  1. https://www.youtube.com/watch?v=ygZMI2YIcvk&t=1s
  2. http://btechsmartclass.com/DS/U5_T2.html

B -tree link

In a binary search tree ,AVL Tree,/Red -Black tree etc.,every node can have only one value (key) and maximum of two children but there is another type of search tree called B-Tree in which a node can store more than one value


(key) and it can have more than two children.B- Tree was developed in the year of 1972 by Bayer and McCrieght with the name Height Balanced m-way search Tree.Later it was named as B-Tree.B-Tree can be defined as follows…………


  1. http://btechsmartclass.com/DS/U5_T3.html
  2.   https://www.youtube.com/watch?v=C_q5ccN84C8

Red-Black Tree link


  1. http://www.geeksforgeeks.org/red-black-tree-set-1-introduction-2/
  2. https://www.youtube.com/watch?v=5IBxA-bZZH8

Thursday, July 27, 2017

Six types of Search Algorithm

There are six type of search algorithm

  1. Linear search
  2. Binary search
  3. Jump search
  4. Interpolation search
  5. Exponential search
  6. Ternary search : https://www.hackerearth.com/practice/algorithms/searching/ternary-search/tutorial/
Now all search algorithm discussion in following
  1. Linear search: It also known as sequential search, is a process that checks every element in the list sequentially until the desired element is found. The computational complexity for linear search is O(n), making it generally much less efficient than binary search (0(log n)).
In   computer science linear search or sequential search is a method for finding a target value within a list. It sequentially checks each element of the list for the target value until a match is found or until all the elements have been searched.[1]
Linear search runs in at worst linear time and makes at most n comparisons, where n is the length of the list. If each element is equally likely to be searched, then linear search has an average case of n/2 comparisons, but the average case can be affected if the search probabilities for each element vary. Linear search is rarely practical because other search algorithms and schemes, such as the binary search algorithm and hash tables, allow significantly faster searching for all but short lists.

A simple approach is to do linear search, i.e
§  Start from the leftmost element of arr[] and one by one compare x with each element of arr[]
§  If x matches with an element, return the index.
§  If x doesn’t match with any of elements, return -1.


Referance:

2.      Binary search:
In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array Binary search compares the target value to the middle element of the array; if they are unequal, the half in which the target cannot lie is eliminated and the search continues on the remaining half until it is successful. If the search ends with the remaining half being empty, the target is not in the array.
Binary search runs in at worst logarithmic time making O(log n) comparisons, where n is the number of elements in the array, the O is Big O notation, and log is the logarithm. Binary search takes constant (O(1)) space, meaning that the space taken by the algorithm is the same for any number of elements in the array. Although specialized data structures designed for fast searching—such as hash tables—can be searched more efficiently, binary search applies to a wider range of problems.
Although the idea is simple, implementing binary search correctly requires attention to some subtleties about its exit conditions and midpoint calculation.
There are numerous variations of binary search. In particular, fractional cascading speeds up binary searches for the same value in multiple arrays, efficiently solving a series of search problems in computational geometry and numerous other fields. Exponential search extends binary search to unbounded lists. The binary search tree and B-tree data structures are based on binary search.

Given a sorted array arr[] of n elements, write a function to search a given element x in arr[].
A simple approach is to do linear search.The time complexity of above algorithm is O(n). Another approach to perform the same task is using Binary Search.

Binary Search a sorted array by repeatedly dividing the search interval in half. Begin with an interval covering the whole array. If the value of the search key is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise narrow it to the upper half. Repeatedly check until the value is found or the interval is empty.
Example:

ImageSource : http://www.nyckidd.com/bob/Linear%20Search%20and%20Binary%20Search_WorkingCopy.pdf
The idea of binary search is to use the information that the array is sorted and reduce the time complexity to O(Logn).
###We basically ignore half of the elements just after one comparison.
1.      Compare x with the middle element.
2.      If x matches with middle element, we return the mid index.
3.      Else If x is greater than the mid element, then x can only lie in right half subarray after the mid element. So we recur for right half.
4.      Else (x is smaller) recur for the left half.

Referance:

3.      Jump search: In computer science, a jump search or block search refers to a search algorithm for ordered lists. It works by first checking all items Lkm, where {\displaystyle k\in \mathbb {N} } and m is the block size, until an item is found that is larger than the search key. To find the exact position of the search key in the list a linear search is performed on the sublist L[(k-1)mkm].
The optimal value of m is √n, where n is the length of the list L. Because both steps of the algorithm look at, at most, √n items the algorithm runs in O(√n) time. This is better than a linear search, but worse than a binary search. The advantage over the latter is that a jump search only needs to jump backwards once, while a binary can jump backwards up to log ntimes. This can be important if a jumping backwards takes significantly more time than jumping forward.
The algorithm can be modified by performing multiple levels of jump search on the sublists, before finally performing the linear search. For an k-level jump search the optimum block size ml for the lth level (counting from 1) is n(k-l)/k. The modified algorithm will perform k backward jumps and runs in O(kn1/(k+1)) time.
Jump Search is an improvement to this scenario. Instead of searching one-by-one, we search k-by-k. Let’s say we have a sorted array A, then jump search will look at A[1], A[1 + k], A[1 + 2k], A[1 + 3k] … and so on.
As we keep jumping, we keep a note of the previous value and its index. Once we get a situation where A[i] < searchValue < A[i + k], then it means the value we want is in between the previous jump ends. So now we could simply perform a linear search between that A[i] and A[i + k].

Like Binary Search, Jump Search is a searching algorithm for sorted arrays. The basic idea is to check fewer elements (than linear search) by jumping ahead by fixed steps or skipping some elements in place of searching all elements.
For example, suppose we have an array arr[] of size n and block (to be jumped) size m. Then we search at the indexes arr[0], arr[m], arr[2m]…..arr[km] and so on. Once we find the interval (arr[km] < x < arr[(k+1)m]), we perform a linear search operation from the index km to find the element x.
Let’s consider the following array: (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610). Length of the array is 16. Jump search will find the value of 55 with the following steps assuming that the block size to be jumped is 4.
STEP 1: Jump from index 0 to index 4;
STEP 2: Jump from index 4 to index 8;
STEP 3: Jump from index 8 to index 16;
STEP 4: Since the element at index 16 is greater than 55 we will jump back a step to come to index 9.
STEP 5: Perform linear search from index 9 to get the element 55.


Referance:
https://stackoverflow.com/questions/2882362/jump-search-algorithm

4.      Interpolation search: Interpolation search is an algorithm for searching for a given key in an indexed array that has been ordered by numerical values assigned to the keys (key values). It parallels how humans search through a telephone book for a particular name, the key value by which the book's entries are ordered. In each search step it calculates where in the remaining search space the sought item might be, based on the key values at the bounds of the search space and the value of the sought key, usually via a linear interpolation. The key value actually found at this estimated position is then compared to the key value being sought. If it is not equal, then depending on the comparison, the remaining search space is reduced to the part before or after the estimated position. This method will only work if calculations on the size of differences between key values are sensible.
By comparison, the binary search always chooses the middle of the remaining search space, discarding one half or the other, depending on the comparison between the key found at the estimated position and the key sought — it does not require numerical values for the keys, just a total order on them. The remaining search space is reduced to the part before or after the estimated position. The linear search uses equality only as it compares elements one-by-one from the start, ignoring any sorting.
On average the interpolation search makes about log(log(n)) comparisons (if the elements are uniformly distributed), where n is the number of elements to be searched. In the worst case (for instance where the numerical values of the keys increase exponentially) it can make up to O(n) comparisons.
In interpolation-sequential search, interpolation is used to find an item near the one being searched for, then linear search is used to find the exact item.

### Given a sorted array of n uniformly distributed values arr[], write a function to search for a particular element x in the array.
Linear Search finds the element in O(n) time, Jump Search takes O(√ n) time and Binary Search take O(Log n) time.
The Interpolation Search is an improvement over Binary Search for instances, where the values in a sorted array are uniformly distributed. Binary Search always goes to middle element to check. On the other hand interpolation search may go to different locations according the value of key being searched. For example if the value of key is closer to the last element, interpolation search is likely to start search toward the end side.

Referance:
5. Exponential search: In computer science, an exponential search (also called doubling search or galloping search or Struzik search)[1] is an algorithm, created by Jon Bentley and Andrew Chi-Chih Yao in 1976, for searching sorted, unbounded/infinite lists.[2] There are numerous ways to implement this with the most common being to determine a range that the search key resides in and performing a binary search within that range. This takes O(log i) where i is the position of the search key in the list, if the search key is in the list, or the position where the search key should be, if the search key is not in the list.
Exponential search can also be used to search in bounded lists. Exponential search can even out-perform more traditional searches for bounded lists, such as binary search, when the element being searched for is near the beginning of the array. This is because exponential search will run in O(log i) time, where i is the index of the element being searched for in the list, whereas binary search would run in O(log n) time, where n is the number of elements in the list.



  1. Ternary search:ternary search algorithm is a technique in computer science for finding the minimum or maximum of a unimodal function. A ternary search determines either that the minimum or maximum cannot be in the first third of the domain or that it cannot be in the last third of the domain, then repeats on the remaining two-thirds. A ternary search is an example of a divide and conquer algorithm