开发者

List of where various algorithms/structures pop up in web development [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help cl开发者_高级运维arifying this question so that it can be reopened, visit the help center. Closed 11 years ago.

Could someone please list where some of the following algorithms/structures pop up in web development (I'm an aspiring web developer and I'm curious to know when these various topics pop up):

  • Bubble sort
  • Insertion sort
  • Selection sort
  • Mergesort
  • Quicksort
  • Stack
  • Queue
  • Linked List
  • Binary Trees
  • Binary Search Trees
  • Balanced Binary Tree
  • AVL Trees
  • Splay Trees
  • Red-Black trees
  • Priority Queues
  • Hashing
  • Adjacency Linked Lists
  • Adjacency matrices
  • Graph Traversals (Depth First Search, Breadth First Search)
  • Minimum Spanning Trees (Kruskal's algorithm, Prim's algorithm)
  • Directed Graph (Digraph)
  • Topological sort

The list is some topics that were covered in my Data Structures and Algorithms class. There might be some other important ones that I forgot to list as well.


Most of these are important for teaching concepts, and while some of them are commonly used in most applications (Stacks & Queues, e.g.), they don't really "pop up" the way you're describing.

It is important to understand the principles that these structures illustrate, and to know when to use a LinkedList vs an ArrayList. But as far as "when will I ever use this," it's awfully hard to point to a specific part of a website and say, "see, they used a binary search tree here."


For most web development, these can be grouped together.

  1. Quite a bit of web development is going to use a SQL back-end. In a select statement, you can have an order by clause what will undoubtedly be implemented by one of the sorts you've named (or something similar such as intro-sort, which is mostly a fairly minor variation on Quicksort).
  2. Likewise, you'll deal with associative arrays, which are typically implemented as either some sort of hash table or some sort of balanced tree -- but could also use a splay tree.
  3. graphs and graph traversal don't figure heavily in your typical (e.g., e-commerce) web development. For some types of network management, however, it's typical to put such things as servers into nodes of a graph, with arcs to signify the network connections.
  4. Most languages you use will use stacks implicitly, but it'll be fairly unusual to use them explicitly in typical web development.
  5. Queues will depend. You're not likely to implement a queue, but if (for example) you deal with a distributed database, you'll probably end up using some sort of queue that it provides.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜