<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Algorithms on Piotr Kosmowski</title>
    <link>/docs/notes/development/algo/</link>
    <description>Recent content in Algorithms on Piotr Kosmowski</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>pl-pl</language><atom:link href="/docs/notes/development/algo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Algorithms</title>
      <link>/docs/notes/development/algo/algorithms/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/notes/development/algo/algorithms/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Data Structures</title>
      <link>/docs/notes/development/algo/data_structures/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/notes/development/algo/data_structures/</guid>
      <description>Using Java Framework
Queue # Set # HashMap (or Map Interface) # Description: A collection that stores key-value pairs, providing constant-time complexity for insertions, deletions, and lookups. Java Implementation: Example:
HashMap&amp;lt;String, Integer&amp;gt; map = new HashMap&amp;lt;&amp;gt;(); Use Cases: Frequently used for scenarios requiring fast lookups by a key, like counting frequencies of elements or caching. 5. HashSet (or Set Interface) # Description: A collection that stores unique elements with no duplicate values and provides constant-time operations.</description>
    </item>
    
    <item>
      <title>Kata</title>
      <link>/docs/notes/development/algo/kata/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/notes/development/algo/kata/</guid>
      <description>Tips # If input array is sorted then
Binary search Two pointers If asked for all permutations/subsets then
Backtracking If given a tree then
DFS BFS If given a graph then
DFS BFS If given a linked list then
Two pointers If recursion is banned then
Stack If must solve in-place then
Swap corresponding values Store one or more different values in the same pointer If asked for maximum/minimum subarray/subset/options then</description>
    </item>
    
    <item>
      <title>O-notation</title>
      <link>/docs/notes/development/algo/o-notation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/notes/development/algo/o-notation/</guid>
      <description>In Big O Notation (or O-notation), we analyze the efficiency of algorithms, typically focusing on time complexity and space complexity. The goal is to understand how an algorithm’s performance scales as the input size grows. Big O notation expresses this growth in terms of the worst-case scenario.
Examples:
Operation Type Typical Big O Complexity Constant-time operations (e.g., reading/writing a variable) O(1) Loop over n elements O(n) Nested loops O(n^2) Binary search O(log n) Merge sort, Quick sort O(n log n) Insertion in balanced BST, Heap O(log n) BFS/DFS (graph traversal) O(V + E) Basic Operations # These are simple operations that are treated as having a constant time complexity, i.</description>
    </item>
    
  </channel>
</rss>
