Category: SoftwareEngineering
-
Kruskal’s algorithm for minimum spanning trees (MST)
Theory Implementation Practice problems
-
Knuth-Morris-Pratt algorithm for substring search
Theory Implementation Practice problems
-
Rabin-Karp algorithm for substring search
Theory Implementation Practice problems
-
Boyer-Moore algorithm for substring search
Theory Implementation Practice problems
-
C++ split & replace
It’s hard to believe, but after many revisions of the C++ standard, we still don’t have built-in implementations for basic operations like split and replace. See the discussions on Stack Overflow for split and replace. Here are my basic implementations, they should work for most purposes. Split Replace Some tests These implementations seem short and…
-
Operations notes
Reverse lines in a file In vim, you can select the lines you need to reverse and issue :'<,’>!tac. Source: https://stackoverflow.com/a/742485/526189 Compare two files and get only the difference Source: https://stackoverflow.com/questions/4544709. Prepend data to a file Have rsync print timestamps Use the –out-format option. For example: Source: https://askubuntu.com/a/652532/118883 Upload folder to S3 NOTE: S3 is…
-
Rust notes
-
Programming notes
General concepts Ruby
-
Exclude directories in IntelliJ’s Find in Files
So, I’m working on a small project. Once in a while I open Find in Files to look something up, but I notice that the search is a bit slow even though I only have a few files. I’m aware of a directory called build/ in my project which contains generated code, but it is…
-
C++: Unordered maps and sets for non-primitive types
Since C++ 11, we can use unordered sets and unordered maps. However, these data structures only seem to work with primitive types and strings. If you need a pair or a vector as the key, you’re out of luck. Fortunately, it’s possible to use unordered containers with other types, we just have to do some…