Article
K-Means is one of the simplest and most popular clustering algorithms in data science. It divides data based on its proximity to one of the K so-called centroids - data points that are the mean of all of the observations in the cluster. An observation is a single record of...
Darinka Zobenica
A* is a heuristic path searching graph algorithm. This means that given a weighted graph, it outputs the shortest path between two given nodes. The algorithm is guaranteed to terminate for finite graphs with non-negative edge weights. Additionally, if you manage to ensure certain properties when designing your heuristic it...
Variables are named memory locations. Their values are saved in memory, which we can't typically remember as they're not human-friendly and shift around. Though, if we name the memory location, such as a, it's a lot easier to remember. Environment variables are a lot like usual programming variables, except that...
Reading user input is the first step towards writing useful Java software. User input can come in many forms - mouse and keyboard interactions, a network request, command-line arguments, files that are updated with data relevant for a program's execution, etc. We're going to focus on keyboard input via something...
Structural Design Patterns are used to assemble multiple classes into bigger working structures. Sometimes interfaces for working with multiple objects simply don't fit, or you're working with legacy code you can't change but need new functionality, or you just start to notice your structures seem untidy and excessive, but all...
Creational Design Patterns, as the name implies, deal with the creation of classes or objects. They serve to abstract away the specifics of classes so that we'd be less dependent on their exact implementation, or so that we wouldn't have to deal with complex construction whenever we need them, or...
Design Patterns are reusable models for solving known and common problems in software architecture. They're best described as templates for dealing with a certain usual situation. An architect might have a template for designing certain kinds of door-frames which he fits into many of his projects, and a software engineer,...
Design principles are generalized pieces of advice or proven good coding practices that are used as rules of thumb when making design choices. They're a similar concept to design patterns, the main difference being that design principles are more abstract and generalized. They are high-level pieces of advice, often applicable...
Genetic algorithms are a part of a family of algorithms for global optimization called Evolutionary Computation, which is comprised of artificial intelligence metaheuristics with randomization inspired by biology. In the previous article, Introduction to Genetic Algorithms in Java, we've covered the terminology and theory behind all of the things you'd...
© 2013-2024 Stack Abuse. All rights reserved.