Skip to main content

Writing Efficient Programs

 


Writing Better Programs: More Than Just “Making It Work”



When I first started coding, my mindset was simple: if the program runs, I’m done. But after getting into data structures and algorithm design, I’ve realized that how a program works matters just as much as if it works.


That’s where algorithmic design and data structures come in—they help you build programs that are not just correct, but efficient and well-structured.


🔹 Thinking Like a Programmer (Before You Code)

One of the biggest changes I’ve made is slowing down before I start typing code. Instead of jumping straight into Java, I try to break the problem down into steps first. This is algorithmic design.


For example, I’ll:


  • Figure out what the program needs to do
  • Write out the steps (kind of like pseudocode)
  • Then translate that into actual code


Doing this helps me avoid confusion and keeps my program organized from the start.


🔹 Are Some Algorithms and Data Structures Better?


Yes—but not in a one-size-fits-all way.


Some algorithms and data structures are more efficient than others depending on the situation. The main reason comes down to performance, especially how fast something runs as the input gets larger.


For example:

  • A simple search that checks every item works fine for small data
  • But for large data, a more efficient search can reduce the number of steps dramatically

The same idea applies to data structures:


  • An array is great for quick access using an index
  • A linked list is better if you’re constantly inserting or deleting data
  • A queue works best when order matters (first-in, first-out)


So one design is chosen over another based on:


  • What the program needs to do most (search, insert, delete, process in order)
  • How much data is being handled
  • How important speed and memory efficiency are


In other words, the “better” option is the one that fits the problem best and uses resources more efficiently.


🔹 Why Choosing the Right Design Matters

If you pick the wrong algorithm or data structure, your program might still work—but it could be slower, harder to manage, or waste memory.

For example, using a structure that makes inserting data difficult will slow your program down if you’re constantly adding new data. On the other hand, choosing a structure designed for that task makes everything smoother.

This is why developers don’t just focus on getting a result—they focus on getting it efficiently.


Comments

Popular

Traveling Through a Network

The path for pinging the three websites all sent and received the same amount of packets without any loss. The path to Google was the quickest with an average roundtrip time of 85ms. The path to the Australian site, accountantsdaily.au, took the longest with an average round trip time of 285ms. The trace route to good took twenty four hops. For accountantsdaily.au it took twenty two. And the Chinese website that I chose, eggplantdigital.cn, was only sixteen hops. I noticed that the hops later in the route for each three site tended to be higher than the earlier ones. While Google had the highest amount of hops the average speed of those hops were faster than the other two sites. Eggplantdigital.cn had the lowest amount of hops with only sixteen. Geographic location is key to quicker routes. When pinging an IP address or domain that is far away it will take longer to complete. Pings and trace routes can help troubleshooting problems by pinpointing a location where communication is unabl...

Network Security

Individuals need information security to protect their important personal information from being stolen. They need system security to prevent harmful cyber attacks that hurt application programming or operating systems. There are many ways that your information and system security can be threatened and also many ways to protect it. Malware is malicious software that runs on a computer causes it to do harmful things like running services that charge you or messing up your data. Ransomware is a type of malware that steals data and holds it requiring you to meet specific terms to regain access.  It is important to regularly scan your computer for any malware. There may be important updates that patch any vulnerabilities. It is also smart to have back up data and being prepared in case of malware infection. One of the best ways to keep your information secure is through the use of antivirus software.  “It primarily works by using a list of known virus patterns, called definitions ...

Computers

Computers  Past, present, & future The beginning Computers have changed the way we live. They connect us by sending electrical signals through a network to convey different messages. At first the speed and extent of that process was limited by less advanced technology. It took more hardware to complete certain tasks. For example, DSL wires would get congested but now that there are many towers built we have wireless connections that speed things up for us. Or things like fiber that communicate information through light rays. Modern Computers Computers have now reached a point of ultimate sufficiency. Non-volatile memory is able to store more gigabytes of data with smaller hardware than ever before. Just a simple flash drive will probably suffice for most people’s needs. And with things like cloud storage that host large databases for different networks, there is less of a need for physical components. Volatile memory processes different bits of information faster than ever befo...