Recently I came to SkipList data structure. It really helps me solve an otherwise difficult-to-solve problem. I was struggling to solve it using a balanced binary tree but it became very complicated because the tree should always be balanced and I Only want to know the existence of a particular value, but the price SkipList in a certain limit helped me to solve this problem effectively.
I am thinking that I need other data structures? I know - its various forms like array, list, heap, queue, linked list, hashtable, tree and b-tree, tree etc. You should know that you have some other data structure / concept which is interesting and also useful Regular development cycle
You have not mentioned the graph which are very powerful and if you do not know about them Must definitely read them. First search and width of the general depth alongside the Djkstra's algorithm and A * search algorithm, first look at the search.
You have left the heap, which is often used as a built-in structure for the priority queue. The binary pile is the easiest, but you can also see the minimum maximum-median pile, binomial fast (Faster merge) and Fibonacci pile (the key for rapid reduction - useful for some graph algorithms).
Other interesting data structures are included in Patricia, which can be programmed to create space-efficient efforts (placed on substrings instead of letters), apple trees, which are balanced and can be programmed in addition to check Bloom Filters, a potential data structure that allows you to determine whether an element is a member of a set or not. There can be false positivities in it but false negatives are not and it is space / time efficient.
Finally, you can go a functional route and look at irreversible and continuous data structures. Many of them have functional versions of data structures that you already know. If you are interested in it, then I recommend to check the purely functional data compositions of Okaki.
Comments
Post a Comment