SEARCH KEYWORD -- TAIL RECURSION



  Traditional recursion vs Tail recursion

Recursion is a frequently adopted pattern for solving some sort of algorithm problems which need to divide and conquer a big issue and solve the smaller but the same issue first. For example, calculating fibonacci  accumulating sum and calculating factorials. In these kinds of issues, recursion is more straightforward than their loop counterpart. Furthermore, recursion may need less code and looks more concise. For example, let's calculate sum of a set of numbers starting with 0 and st...

   ALGORITHM,RECURSION,TAIL RECURSION,TRADITIONAL RECURSION     2016-09-23 23:54:09

  Do you have this kind of comments in your source code?

Writing runnable code is the essential skill of a programmer, writing understandable comment is also a skill a programmer should acquire. There is some famous saying that bad comment is worth than no comment. Usually your code will be maintained by other people, if you provide them some difficult to understand or misguided comments, this will be nightmare to them. While at some other time, programmers may put some funny comments in their codes which may make others laugh. Today we...

   COMMENT,HUMOR     2016-08-01 10:25:14

  Here is Surface Pro 4

Microsoft is holding a new product release event today in New York. The biggest excitement Microsoft brings us is the Surface Pro 4. The most advanced Microsoft tablet ever equipped with Windows 10. Here are the selling points of Surface Pro 4: Performance 6th generation of Intel Core processor 30% faster than Surface Pro 3 50% faster than MacBook Air Up to 15 G RAM Up to 1TB storage 8.4 mm. Thinnest Surface Pro ever Four USB 3.0 ports Two 4K display ports Ethernet One productive connection S...

   WINDOWS 10,SURFACE PRO 4,MICROSOFT     2015-10-06 10:39:57

  First page of 2012

The tail of 2011 has gone through my heart silently, Year of 2012 is coming with mystery. Looking back to 2011 and looking forward to 2012, it's time to record something...In the past 2011, nothing specials happened in my life. At the beginning of 2011, I was a college student with full of passion, while at the end of 2011, I am an engineer with 5 month's working experience. At the beginning of 2011, I was struggling through my Final Year Project and job hunting, while at the end of 2011, I am p...

   2012,New year,Mayan,Summary     2012-01-01 05:19:32

  Something you may not know about Shell

Shell is also called command line interface, it is the interface between *nix users and computer. Shell is a program which provides service to access OS kernel services. This article is to introduce some not so well known but useful and interesting knowledge about shell. Wiki shell was born almost at the same time as Unix. The first UNIX shell was written by Ken Thompson in 1971 and its name is Thompson sh. It's older than Linux kernel. The default Shell in most *nix and MacOS is bash, bash was...

   Linux, Unix,Shell,Command     2012-11-24 07:19:47

  My frequently used Linux commands

In our day to day work. We may have many chances working on Linux/Unix systems. There are many things we may need to do, checking logs, navigating in directories, creating file or installing software. We may use many commands to complete the work, such as ls, mkdir, cd etc. Below are my frequently used Linux commands or programs recently: pwd : print working directory, sometimes I need to check which working directory I am in in order to know where to go next. ls : List current directory files,...

   Linux,Command,Program     2012-08-16 15:09:42

  Resolve SystemStackError issue when resolving IP address in Ruby

In Ruby, Resolv is the default DNS resolution implementation. It can be used to resolve IP address of a hostname. To use it, one just needs to require 'resolv' in the code. But sometimes, a user would want to check /etc/hosts first or some other mechanisms to resolve an IP address. In this case, one can require 'resolv-replace' and then replace the default DNS resolvers with customized DNS resolvers. For example, using resolv-replace, one would write require 'resolv-replace' Resolv::DefaultResol...

   RUBY,RUBY ON RAILS,NETWORK     2017-07-08 09:54:35

  Binary tree iterator algorithm

Binary tree pre-order,in-order and post-order traversal are basics in algorithm and data structure.And the recursive binary tree traversal is a classical application of recursion. We define a binary tree node as : // C++ struct Node { int value; Node *left; Node *right; } In order binary tree traversal can be: // C++ void inorder_traverse(Node *node) { if (NULL != node->left) { inorder_traverse(node->left); } do_something(node); if (NULL != node->righ...

   Binary tree,Iterator,Traversal     2013-07-14 21:51:09

  8 Step Guide to Rewrite Articles

Crafting an eye-catching article may be god-gifted talent, for many people. But anyone can learn the skill of article rewriting. You can find articles all around, newspapers, websites, and magazine even at the back of different products. These articles will give a basic understanding of what readers look into articles and what they expect. It will help you to craft an appealing article according to readers demand. For beginners, below you will find a list of four types of articles. Description...

   ARTICLE WRITE,TOOL     2019-05-15 07:58:52

  37 powerful Linux shell commands

To work on Linux platform, you cannot avoid using shell commands to complete some tasks. These tasks can be as simple as list files in some directories or find some text in some file, or can be as complex as monitoring processes. In this post, we will share 37 powerful Linux shell commands.   Task Commands 1 Delete file with 0 byte(empty file) find . -type f -size 0 -exec rm -rf {} \;find . type f -size 0 -delete 2 Check process memory consumption ps -e -o "%C : %p : %z : %a"|sort -k...

   Linux command,List     2013-09-16 07:47:16