Profile

Cover photo
Daniel Imms
Works at Microsoft
489 followers|2,992,661 views
AboutPostsCollections

Stream

Daniel Imms

Shared publicly  - 
 
Wrote up a small article on comb sort over the weekend, examples in C#, Java, JS, Python and Ruby
Comb sort is an O(n^2) variation of the bubble sort sorting algorithm.
2
Add a comment...

Daniel Imms

Shared publicly  - 
 
Big updates to the binary heap article: C# impl, content revamp, more images, new animations! ‪#‎compsci‬ ‪#‎programming‬

A detailed look at why the build heap operation is linear is coming soon :)
A binary heap is a binary tree data structure that typically uses an array or list as its underlying data structure. Heaps are one of the fundamental data structures that all software developers should have in their toolkit due to its fast extraction of either the minimum or the maximum element in a collection.
1
Add a comment...

Daniel Imms

Shared publicly  - 
 
The new style animations with controls are now available on the Binomial heap article #compsci
A binomial heap is a priority queue data structure similar to the binary heap only with a more strict structure, it supports quicker merging of two heaps in Θ(\log n) at the cost of a slower find minimum operation. A binomial heap is made up of a series of unique ‘binomial trees’ which are constructed from smaller binomial trees.
3
Chris Greene's profile photoDaniel Imms's profile photo
2 comments
 
Cheers, I've put quite a bit of time in it :P There are still many things I want to improve though.
Add a comment...

Daniel Imms

Shared publicly  - 
 
Finally got around to finishing up the python versions of the sorting algorithms #python #algorithms #computerscience
A sorting algorithm takes a list of items and sorts them in a particular order, most commonly alphabetically or numerical.
2
1
Add a comment...

Daniel Imms

Shared publicly  - 
 
The Sorting Visualiser project page is up on Growing with the Web! #opensource #algorithms #javascript
This page has a collection of [sorting algorithm](/2014/06/sorting-algorithms.html) visualisations that can be controlled with the buttons below. I have written articles on several of these algorithms, click the headings to go to the article.
3
Ron Waldon's profile photo
 
Very cool. :)
Add a comment...

Daniel Imms

Shared publicly  - 
 
Finally got around to svgifying the assets on the A* article
#pathfinding #svg
Game development introduced me to programming when I was around 10 years old, and I've loved it ever since. One of the first formal algorithms I learned before entering university was A* (pronounced
1
Add a comment...

Daniel Imms

Shared publicly  - 
 
Wrote up a proof for binary heap's build heap linear time complexity on the weekend, tried to focus on simplicity
The binary heap data structure supports a build heap operation that runs in O(n). Intuitively it would seem that it should run in O(n \log n) time however, since it runs an O(\log n) operation n/2 times. This article provides a proof of the linear run time.
1
Add a comment...

Daniel Imms

Shared publicly  - 
 
2016 Australian census stores names and addresses, prompting privacy, security outrage.
3
Ron Waldon's profile photo
 
Love the headline. Also, I wonder if that IBM guy was disciplined for speaking out of turn?
Add a comment...

Daniel Imms

Shared publicly  - 
 
Spent a chunk of the weekend updating the Fib heap visualisations to include playback controls and added a C# impl!
A Fibonacci heap is a heap data structure similar to the binomial heap, only with a few modifications and a looser structure. The Fibonacci heap was designed in order to improve Dijkstra’s shortest path algorithm from O(m \log n) to O(m + n \log n) by optimising the operations used most by the algorithm. Its name derives from the fact that the Fibonacci sequence is used in the complexity analysis of its operations.
1
Add a comment...

Daniel Imms

Shared publicly  - 
 
I did a write up on how to sync Visual Studio Code extensions in v1.2.0 #vscode
With the new command line arguments allowing [installation and removal of extensions](https://github.com/Microsoft/vscode/issues/691) becoming available in the latest version of VS Code, it is now possible to automate extension syncing relatively easily.
1
Add a comment...

Daniel Imms

Shared publicly  - 
 
I started my blog 4 years ago today!
2
Add a comment...

Daniel Imms

Shared publicly  - 
 
 
Sorry to be a little off topic and jokey, but you guys are the best audience for this post... I'm just going to leave these concept book covers here for your consideration #someTruthHere  
20 comments on original post
3
Add a comment...
Daniel's Collections
Story
Tagline
Passionate software engineer and blogger
Introduction
I make software for a living and I love it. Some topics I'm particularly interested in are making delightful user experiences, achieving great performance and creating a semantic and accessible web. I speak a little Japanese, a little Korean and a bunch of programming languages.
Basic Information
Gender
Male
Work
Occupation
Software Development Engineer
Employment
  • Microsoft
    Software Engineer II, 2016 - present
  • Amazon
    Software Development Engineer, 2013 - 2016
  • ACT Government
    Senior ASP.NET Developer, 2012 - 2013
  • F1 Solutions
    .NET Software Developer, 2010 - 2012
  • CEA Technologies
    Software Engineer, 2009 - 2010