SEARCH KEYWORD -- Complexity
C++, Ruby and CoffeeScript complexity comparison
There are many programming languages around the world, they all designed to help programmer solve some problems, finish some tasks. These languages are often divided into different types, there are structural, object-oriented, functional, scripting languages etc. Some are easy to pick up such as Java, while some are thought to be difficult to learn such as C++. So how do we understand complexities of different programming languages?Many people agree that C++ is very complex languages, it has poi...
Complexity, languages, C++,Ruby,CoffeeScript 2012-06-12 04:46:01
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
Example of less is more
Less is more is a very important design principle. It is as important as the 80:20 principle. It means that which is less complicated is often better understood and more appreciated than what is more complicated; simplicity is preferable to complexity; brevity in communication is more effective than verbosity. Next we will use an animated image to describe what is less is more. The popularity of flat design in web application design also proves the importance of less is more. Many famous compan...
Less is more,Flat design 2013-09-20 07:20:43
When will resizing be triggered in Java HashMap?
HashMap is one of the most frequently used collection types in Java, it stores key-value pairs. Ideally it expects to use hash table which expects the data access time complexity to be O(1), however, due to hash conflicts, in reality, it uses linked list or red-black tree to store data which makes the worst case time complexity to be O(logn). Although collections are using data structures like arrays and linked lists, unlike arrays, they will dynamically resize when there is not enough spa...
Some laws of interactive design
The well known quote from Alan Cooper is Conforming to the standard unless there is a better choice. There are some best practices in interaction design. How many do you know? 1. Fitts' Law The time from one start point to target point is determined by two parameters: The distance to the target and the size of the target. )D and W in above picture), the formula is : T=a+blog2(D/W+1). It was first proposed by Paul Fitts, it is mathematical model used to predict the time from any poin...
interaction design, laws, Fitts' law 2012-11-16 11:25:24
Learning Python as your first programming language
Python is a widely used general-purpose, high-level programming language Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C. Python now becomes more and more popular and is now being used the first teaching language in some universities. Why would you like to learn Python as your first programming language? Below are the reasons. Python is a high-level language with dynami...
bcrypt: Safeguarding Passwords with Strong Hashing and Adaptive Security
Introduction In today's digital world, passwords play a crucial role in protecting personal privacy and information security. Passwords are the most commonly used means of authentication because they are simple yet effective. Password security is the cornerstone of cybersecurity and plays a fundamental role in safeguarding the information security of individuals and organizations. However, with the increasing frequency and complexity of cyberattacks, traditional password hashing algorithms like ...
Do we need other languages other than C and C++?
There were hundreds of or thousands of programming languages created since the invention of computer. All these languages have the same target which is to make the computer do what we want it do. So we may find that many languages have the same functions, i.e, one task can be completed by one language can be completed by another language as well. Now we may wonder why we need so many different languages. Can we just have C or C++ since they provide the best performance we need. The answer obviou...
programming language,C,Erlang 2014-06-14 19:39:40
One good way to use optional parameter in function
In GoLang, it doesn't support method overloading like in Java, hence sometimes it would be a headache to create functions to construct new structs with different parameters. Normally, we would construct the new function as below when want to let others create a new struct instance with explicit function call. type Queue struct { Name string } func NewQueue(name string) *Queue { return &Queue{name} } But with the scope and complexity of the struct increases, there might be more prope...
OPTION PATTERN,VARIADIC FUNCTION,OPTIONAL PARAMETER 2020-09-18 21:45:29
Why does Symbian collapse?
On 24th January, Nokia announces a disappointing news that they would give up Symbian. The 808 PureView released last year will be its last Symbian model. Symbian was born in 1998, it was supported by the then three mobile giants : Sony Ericson, Motorola and Nokia after its birth, later Samsung and LG also joined the Symbian camp. In 2000, the first Symbian model in the world Ericoson R380 was released, in 20006, there were over 100 million Symbian handphones on the market. But in 2007, t...
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>