String algorithm |
Very fast, accurate, less memory elements |
Easy to form loops, unstable, not easy to be extended to 3D simulations |
[89,90,91,92,93,94] |
Ray tracing algorithm |
Fast, accurate, less memory usage |
Unstable, unsuitable for 3D simulations |
[95,96,97] |
Cellular automata (CA) algorithm |
Static CA algorithm (with Moore neighborhood) |
Very stable, easy to be extended to 3D simulations |
Very slow, not very accurate, much memory usage |
[106,107] |
Dynamic CA algorithm (with von Neumann neighborhood) |
Stable, easy to be extended to 3D simulations |
Slow, not accurate (preferential etching) |
[105,110] |
Dynamic CA algorithm (with Moore neighborhood) |
Accurate, stable, easy to be extended to 3D simulations, less memory usage |
Relatively slow |
[38,108] |
Fast marching algorithm |
Original fast marching algorithm |
Fast, accurate, very stable, easy to be extended to 3D simulations |
Much memory usage |
[111,112,115] |
Full hash fast marching algorithm |
Fast, accurate, very stable, less memory usage, easy to be extended to 3D simulations |
Need additional over 120 lines of computer program codes, compared with the original fast marching algorithm |
[43,47] |