Skip to content

Instantly share code, notes, and snippets.

View vderyagin's full-sized avatar

Victor Deryagin vderyagin

  • Ternopil, Ukraine
View GitHub Profile
package binary_search
import "errors"
// For testing:
// var Find = FindRecursive
var Find = FindIterative
func FindRecursive(list []int, num int) (int, error) {
if len(list) == 0 {
package singly_linked_list
import (
"bytes"
"errors"
"fmt"
)
type sListNode struct {
value interface{}
module CaesarCipher
(
encrypt
, decrypt
, cipher
) where
import Data.Char
isAsciiLetter :: Char -> Bool
@vderyagin
vderyagin / sieve_of_eratosthenes.go
Last active December 11, 2015 09:38
Sieve of Erathosthenes prime numbers finding algorithm implemented in Go
package main
import (
"fmt"
"log"
"os"
"strconv"
)
func Primes(n int) []int {
@vderyagin
vderyagin / pascal_triangle.go
Last active December 11, 2015 09:38
Generating and printing Pascal Triangle of given size implemented in Go
package main
import (
"fmt"
"log"
"os"
"strconv"
)
func MakePascalTriangle(height int) [][]int {
@vderyagin
vderyagin / FizzBuzz
Last active December 11, 2015 09:19
FizzBuzz solution in Haskell
#! /usr/bin/env runhaskell
import Control.Monad (when, unless)
main :: IO ()
main = mapM_ fb [1..100]
fb :: Int -> IO ()
fb n = do
let divBy3 = n `mod` 3 == 0
@vderyagin
vderyagin / priority_queue.go
Last active November 27, 2022 18:50
Priority Queue data structure implementation in Go
package priority_queue
import "errors"
type Elem struct {
Score int
Data interface{}
}
type priorityQueue struct {
@vderyagin
vderyagin / qsort.hs
Last active December 11, 2015 07:09
quicksort implementation in haskell
import Data.List
assert :: Bool -> ()
assert False = error "assertion failed"
assert True = ()
qSort :: Ord a => [a] -> [a]
qSort [] = []
qSort [x] = [x]
qSort (x:xs) = qSort less ++ [x] ++ qSort more
@vderyagin
vderyagin / binary_tree_traversal.go
Last active December 11, 2015 03:38
Go implementation of binary tree data structure with methods for traversal and finding lowest common ancestor for nodes.
package main
import (
"fmt"
"strconv"
"strings"
)
type Node struct {
Data interface{}
@vderyagin
vderyagin / binary_tree_traversal.rb
Last active December 11, 2015 02:48
traversal of binary tree
class Node
attr_accessor :data, :left, :right
def initialize(d, l = nil, r = nil)
self.data = d
self.left = l
self.right = r
end
end