තල් අරණේ මල් පිපිලා
සාමයේ මල නැත පිපිලා
රණ බිම මත ලේ හැලිලා
නෙතු කඳුළින් බර වීලා
තංගචිචියේ නුබේ මුහුණට
ආල වඩනු නොහැකිය මට
පවුරු වලිනු වටවුනු හෙට
බිදිනට මම යමි සටනට
යුඬ බිමටම නෙතු යොමු කොට
සමුගත්තද නුඹ තනි කොට
සාමයේ මල සුපිපුන විට
එය අයිතිය තංගචිචිට
තල් අරණේ මල් පිපිලා
සාමයේ මල නැත පිපිලා
රණ බිම මත ලේ හැලිලා
නෙතු කඳුළින් බර වීලා
තංගචිචියේ නුබේ මුහුණට
ආල වඩනු නොහැකිය මට
පවුරු වලිනු වටවුනු හෙට
බිදිනට මම යමි සටනට
යුඬ බිමටම නෙතු යොමු කොට
සමුගත්තද නුඹ තනි කොට
සාමයේ මල සුපිපුන විට
එය අයිතිය තංගචිචිට
බැටිමනට් කියලයි කියන්නේ
බොක්කෙන් කිරිකට් ගසන්නේ
පිටියේ හැම තැන දුවන්නේ
බීවම මූ ගස් උඩ නගින්නේ
මහදැන මුත්තා මෙයානේ
ජපුරේ විසිටින් ලෙචානේ
හොස්ටල් සැමගේ සභානේ
ශම්මියා කට මැත දෙඩන්නේ
කාමයේ කිසිදින හැසිරිලා නැතී
අපේ ලැවා නම් නිදියන්නේ නැතී
විභාගේ කාලෙට පිස්සූ නැතී
එක දවසක් වත් ඌට නැතී
සුරංගනා ලෝකේදි ඇය අත්තක් වීලා
මුට සලකා මුගේ තොල්පට හතරට පැලිලා
හතුරු සමනලා කැලණියේ පාරකට වෙලා
ජනකට සලකයි පොල්ලෙන් ගසලා
එකට හේතූව තමා මගේ අවසන් වසර Project එක. මම සහ මගේ කන්ඩායමේ අනිත් සගයෝ එකේ Report ලියන හා එහි Coding වල අන්තිම ටික කරන එකේ තමා යෙදිලා ඉන්නේ.
ඊයේ අපේ CSE කන්ඩායමේ සමූහ ඡායා රූපය ගත්තා. එක මගේ මනසට දුක්බර සිතිවිල්ලක් එකතූ කරා. වසර 4ක සොදූරු විශ්ව විද්යාල ජීවිතය නිමා වීම ලග බව අපේ කන්ඩායමේ අයගෙත් හිතට ආව එක මගේ හිතටද දැනුනා. අපි හැමෝම ඡායා රූප ගන්න උත්සුක උනා.
අවසන් වසර Project කන්ඩායමේ ඡායා රූපය මම මෙකේ දාන්න හිතූවේ, අපි අවසන් වසර පුරාවටම ලෙන්ගතූව හිටපු නිසා.
මෙකේ වමේ සිට දකුනට ඉන්නේ චරිත්( වැල්ලේ), ජනන්ජිත් (ජනා), චරිත්(පෙමා), තරිඳු (මම).
අවසන් වශයෙන් සැමටම සුබ නව වසරක් වෙවා!!
When a function is called a stack frame is created for that. Creating a stack frame takes lot of resource allocation in memory. Activation of a function takes a stack frame pushed in to stack. So until a specific condition for the function meet stack frames are pushed to stack. After the condition has been met they will be popped out from the stack. Stack frames are space consuming and pushing and popping of stack frames is an overhead.
Almost all recursive algorithms can be written as non-recursive algorithms. Following is an example of non recursive algorithm for counting factorial.
public static long factorial (int n) {
long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
Most of the recursion can be eliminated by using looping. In some programming languages they convert intermediate code to machine code when they execute such loop. So it is very efficient to use such non recursive algorithm. This is more efficient than executing byte code.
In languages like C++, C we can declare the loop counting variable using keyword “register”, so that the looping is efficiently done.
Considering these facts I can say a non-recursive algorithm can be more efficient in most computers than a recursive algorithm of same theoretical complexity.
What I think about Copyleft is?
I consider copyleft as a form of licensing software , documents and music. It is the reverse of the word copyright. (Symbol that used for copyleft proves that) If copyleft is used then it removes the restrictions of using copyright law and remove the restrictions on distributing copies and modified versions of a work of others. For modified work of others the same freedoms has to be preserved.