[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Home]
4Archive logo
MOOC: Algorithms and Data Structures
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /sci/ - Science & Math

Thread replies: 10
Thread images: 2
File: data_structures.png (16 KB, 728x183) Image search: [iqdb] [SauceNao] [Google]
16 KB, 728x183
Hi /sci/ !!!

I want to intern to $BIGCOMPANY but haven't reached the Algorithms course in my university yet, so I'm taking this course in Algorithms and Data Structures.

The approach is practical: they have coded a small text editor and want students to implement extra features.

So basically they're going to explain you stuff like tree and tries and how they are used to implement, say, word completion, and then you can complete the simple text editor with such features.

I like this approach /sci/, what is your opinion?

Can you suggest me some more courses/books on interesting subjects which follow a similar approach ?

Thanks /sci/entistis

For reference: https://www.coursera.org/learn/data-structures-optimizing-performance

Can't you implement them without the extra hand holding?

For Data Structure:
>Data Structures and Algorithms in C++ by Drozdek
For Algorithms with implementation details:
>Algorithms in C++ Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms by Sedgewick

I learn way better by doing actual coding that by mere theoretical study.

My approach would be to take this mooc now and study all of the details of various algorithms and data structures later when i reach the algorithms and data structure course at my university.
>coding without understanding what's going on

You're the cancer killing the field
You will do almost no programming in this course. It is very near worthless. If you want to play with the big boys, look into the pair of courses titled "Design and Analysis of Algorithms" done by Tim Roughgarden at Stanford. This would be a much better use of your time. You will get both the theory and be expected to code everything you do from scratch.
>I learn way better by doing actual coding that by mere theoretical study.

The one phrase that ruined academia forever

>First universities: We will teach only mathematics, philosophy and art. Scientists will do math and then specialize in their field. Soft 'sciencists' will study philosophy and then specialize. Artists of all stripes will learn art and then specialize.


>*sweating* Okay, now we don't have such a simple organization but that is fine. Now we have expanded all faculties. For example, because people were too retarded to apply their math we will now teach math, physics, chemistry and biology so people won't have to learn to apply shit on their own. Now they will be pleased. People who want to be engineers will go through math and/or physics and then specialize.


>*tired as fuck of fixing schedules* Okay, people are too stupid to apply math and physics on their own. Behold! The engineering faculty! Here we will teach the retards how to apply shit on their own so that they don't have to put even minimal effort in understanding anything. T-this will please them, right?

--Period when science starts advancing really fast

>Worry not. People who can't to do computer science will just study mathematics and then specialize. Of course.
>Worry not, people who want to get into antrophysics will learn physics and specialize.
>Worry not, people who want to do aerospace engineering will just do mechanical engineering and then specialize
>Worry not, people who want to do statistics will just do mathematics and then specialize
>Worry not, people who want to do robotics will just learn electrical engineering and then specialize.
>Worry not, people who want to do computer engineering will just learn electrical engineering and then specialize


>Now every uni has 200 faculties with 20 different majors in
Word completion is going to involve prob stats. I'm genuinely curious wether or not it goes into things like n-grams, decision trees, or embedding models.
File: star_wars.jpg (67 KB, 600x300) Image search: [iqdb] [SauceNao] [Google]
67 KB, 600x300
Ok. So looking more into that, I've decided that your curriculum is on the mid to low level of basic.

Here is an extensive list of suggested algorithms I would look into. Each delimited with what category of algo they belong to. If google ever foobars you. You'll get a handful of the more complicated ones in this list.

String Algorithms
>KnuthMorrisPratt algorithm
>Aho Corasick algorithms
>SuffixArrays O(n)
>SuffixTrees O(n)
>SuffixAutomata O(n)
>DictionaryOfBasicFactors O(nlogn)
>Manachar’s algorithm O(n)
>Multi dimensional pattern matching.
>Searching and preprocessing Regular Expressions consisting of ‘?’ , ‘*’.

Basic Graphs [beginner]
>BiconnectedComponents, Finding articulation points and bridges].
>Dijkstra algorithm
> Floyd Warshall algorithm
> MinimumSpanningTree
> Flood fill algorithm
>Topological sort
> Bellman Ford algorithm.
> EulerTour/Path.

Flow networks/matching etc etc.
>Maximum flow using Ford Fulkerson Method.
>Maximum flow using Dinics Algorithm.
>Maximum weighted Bipartite Matching(KuhnMunkrasalgorithm/HungarianMethod)
>Stoer Wagner mincut algorithm.
>Hopcroft Karp bipartite matching algorithm.
>Maximum matching in general graph(blossomshrinking)
>Gomory Hu Trees.
>Chinese Postman Problem.

Basic Comp Geometry
>Graham Scan
>Online Construction of convex hull
>Bently Otman algorithm
>Rotating Calipers technique
>Line sweep/Plane sweep
>Area of union of circles
>Delayunay Triangulation of n points
>Voronoi Diagrams of n points
>Point in a Polygon problem

Dynamic Programming Approaches
>State space reduction
>Solving in reverse
>Counting/Optimizing arrangements
>DP on probability spaces
>DP on trees
>Symmetric characterization of DP state

>Just read through Cormen's section on this.

Number Theory(Mix of algos and concepts you should understand)
>Modulus arithmetic
>Fermats theorem
>> Continued...

Number theory [VERY SIMPLE]
>Euler totient theorem
>Chinese remainder theorem
>Primality tests
>Prime generation(Seive of Erasthetes)
>GCD (Euclidean method)
>Read 2.3 from Number Theory SYYan
>Read 1.9 from Cormen

Game theory
>Sprague grundy theorem,
>Grundy numbers

Linear Algebra
>Computing determinant
>Matrix multiplication (how to determine order of operations using DP. This is explained in Cormen)
>Using Matrix exponentiation to solve recurrences
>Eigen Values and decomposition
>Latent semantic Indexing(Bonus)
>Roots of a polynomial
>Lagrange Interpolation
>Permutation Cycles

Group theory
>Bernside Lemma
>Polias theorem
>Generating functions

Basic Data Structures[what you go over in your class]
>Singly/Doubly Linked List
>Hash Tables
>Circular Linked Lists
>Binary/N-ary trees
>Disjoint data structures

>Interval Trees
>Fibonacci Heaps
>Fenwick Binary indexed heaps
>Range Minimum Query
>AVL trees
>Splay trees
>B / B+ trees
>Skip list
>Red Black trees.

It is overwhelming. In CS undergrad most people go through about a 1/5 of this list.
Thread replies: 10
Thread images: 2
Thread DB ID: 439143

[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Search | Home]

[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Search | Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the shown content originated from that site. This means that 4Archive shows their content, archived. If you need information for a Poster - contact them.
If a post contains personal/copyrighted/illegal content, then use the post's [Report] link! If a post is not removed within 24h contact me at wtabusse@gmail.com with the post's information.