본문 바로가기 메뉴 바로가기

HAMA 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

HAMA 블로그

검색하기 폼
  • 전체 (687)
    • 주인장 (9)
    • 잡동사니 (2)
    • 소프트웨어 사색 (81)
    • Rust (0)
    • tech shard (비공개) (0)
    • 그래픽스 (3)
    • 데브옵스 (5)
    • 데이터 가시화 (d3.js , Plotly, Gr.. (18)
    • 디자인패턴 (10)
    • 무들 (moodle) (17)
    • 보안 (6)
    • 뱅킹 & PG (5)
    • 블록체인 (55)
    • 알고리즘,자료구조 (4)
    • 서버 &컨테이너 & 도커등 (2)
    • 오픈소스, 미들웨어 (9)
    • 임베디드 (4)
    • 인터프리터 (4)
    • 하이브리드앱 (9)
    • 아이폰 (IOS) (10)
    • 안드로이드 (14)
    • 운영체제 (1)
    • 아마존 AWS & 클라우드 (5)
    • 테스트 (1)
    • 통계 & 머신러닝 & 딥러닝 (39)
    • Angular & React (3)
    • Akka (27)
    • CUDA (1)
    • Flask (5)
    • Go (17)
    • HAMA (3)
    • Hadoop (7)
    • Haskell (1)
    • IoT (32)
    • IoT 데이터 분석 (NILM) (10)
    • IoT 전기자동차 (4)
    • IDE & 기타 툴(tool) (3)
    • Javascript (12)
    • Java (31)
    • Kotlin (10)
    • Math (1)
    • Netty, Java IO (8)
    • Network (7)
    • NoSQL (7)
    • Node.js (1)
    • OpenMP,PPL (4)
    • OpenCV, Halcon (1)
    • OpenGL , WebGL (0)
    • PlayFramework2 (35)
    • Amp,CUDA,OpenCL,TensorFlow (1)
    • Python (37)
    • RDBMS (PostgreSQL) (11)
    • Scala (51)
    • Spark (5)
    • Spring (9)
    • UI , UX 디자인 (6)
    • VTK (1)
    • Vert.x (13)
    • WAS & 웹서버 (3)
    • Zookeeper (2)
    • C++ (비공개) (4)
      • 문법 (1)
      • TR1 (0)
      • Algorithm (0)
      • container (0)
      • Date Time (0)
      • Exception (0)
      • FileSystem (0)
      • Flyweight (0)
      • function (0)
      • Functor & binder (0)
      • Geometry (0)
      • Graph (0)
      • IO Stream (0)
      • InterProcess (0)
      • Interator (0)
      • Lamda (0)
      • Localization & UTF-8 (0)
      • log (0)
      • Math, numeric (0)
      • memory&pool (0)
      • meta class (0)
      • metwork & ASIO (0)
      • PropertyTree (0)
      • Regex (0)
      • Signal (0)
      • Singleton_template (0)
      • smartptr (0)
      • speed (0)
      • spirit (0)
      • string (0)
      • system (0)
      • thread & concurrent (0)
      • tokenizer (0)
      • util (0)
      • Timer (0)
    • Meeting (0)
    • OpusM (0)
  • 방명록

알고리즘,자료구조 (4)
디스크 상에서의 HashMap 구현

다음 내용은 정익사의 화일구조의 마지막에 나온 소스 (부록3. 디스크 기반 해시) 를 기반으로 설명된다. (그림 - 1) 그림에서 주요 포인트는 : 디스크 , HashPage , HashRecord 이다. 1. 초기화 - 디스크에 저장하기위해 파일을 만든다.(creat 함수, fopen 함수이용) - 페이지 자체의 크기를 4096byte 로 설정한다. (실제 디스크의 블럭크기와 일치시키면 좋을듯) - 페이지의 갯수를 3000개로 설정한다. (자신이 만들 어플리케이션의 용도에 맞추면 좋고~) - HashPage 객체하나로 1->2999 번 (1개는 헤더용) 값을 바꾸어서 , 그 내용을 디스크상에 그대로 쓴다. - 아직 HashPage 안에 recArray 는 아직 아무 값이 없겠지요. - 결국 HashPa..

알고리즘,자료구조 2015. 11. 3. 14:43
레드블랙트리 vs 해쉬테이블 (TreeMap vs HashMap)

C++ 의 map 은 레드블랙트리로 구현되있으며, java 의 treeMap 또한 레드블랙트리로 구현되어있습니다.C++ 진영에서 해쉬테이블이 표준으로 구현되지 않았었기때문에, 많은 경우 해쉬를 굳이 외부라이브러리등을 통하거나,만들어서 사용하지 않았는데, 그 의미는 많은 경우에 있어서 레드블랙트리로 맵을 사용하는게 충분하다는 방증(circumstantial evidence) 이겠지요. Java 진영에서는 많은 경우 HashMap 을 사용하더군요. 이런걸 보면 , 두개 알고리즘의 각각의 특징에 따라서 맵을 사용한다기보다는 , 대개의 프로그래머들은 그냥 아무 생각없이 많이 쓰여 지는것을 쓴다고 볼수있습니다. 이 얘기는 프로그래머들이 게을러서라고 생각치 않습니다. 많은 경우 두개의 알고리즘의 성능차이는 80대2..

알고리즘,자료구조 2015. 9. 14. 08:49
레드블랙트리 (red-black tree) 삽입

레드블랙트리는 이진트리이자, 균형을 갖춘트리입니다. C++ 의 map 이 레드블랙트리 기반이며, jemalloc 에서도 사용됩니다.레드블랙트리의 정의는 다음과 같습니다.1. 모든 노드는 red나 black의 색깔을 갖는다. 2. Root 노드는 항상 black이다. 3. 모든 leaf 노드는 센티넬 노드(sentinel node)로서 black이다. (일단 항상 2개의 다른 값으로 채워질 수 있는 NIL=NULL 자식을 가진다.) 4. Red 노드의 자식은 모두 black이다. (Black의 자식은 black/red 모두 가능) 5. 루트(root)에서 leaf로의 경로를 생각할 때, 모든 경로에 대해서 black의 숫자는 같다. (이것을 black height라고 한다.) 삽입삽입시에 이진트리와 마찬가..

알고리즘,자료구조 2015. 9. 10. 14:46
Finding Kth largest element in Array

public class KthLargest { public static void main(String[] args) { int[] x = new int[] { 3, 6, 92, 34, 1, 35, 62, 13, 12, 24, 53 }; System.out.println(getKthLargest(x, 3)); } private static int getKthLargest(int[] x, int k) { int low = 0; int high = x.length - 1; while (true) { int pivot = (low + high) / 2; int newPiv = partition(x, low, high, pivot); if (newPiv == k) { return x[newPiv]; } else ..

알고리즘,자료구조 2015. 5. 12. 16:41
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 파이썬 데이터분석
  • 파이썬 동시성
  • 스칼라
  • 플레이프레임워크
  • 하이퍼레저 패브릭
  • Hyperledger fabric gossip protocol
  • 스위프트
  • 이더리움
  • play 강좌
  • 파이썬
  • CORDA
  • 그라파나
  • hyperledger fabric
  • play2 강좌
  • 하이브리드앱
  • akka 강좌
  • 스칼라 강좌
  • 스칼라 동시성
  • 파이썬 머신러닝
  • Play2
  • 주키퍼
  • Akka
  • 파이썬 강좌
  • Actor
  • Golang
  • 블록체인
  • 안드로이드 웹뷰
  • 엔터프라이즈 블록체인
  • Play2 로 웹 개발
  • Adapter 패턴
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바