Skip to content

Instantly share code, notes, and snippets.

View sasanquaneuf's full-sized avatar

sasanquaneuf sasanquaneuf

  • Japan
View GitHub Profile
@sasanquaneuf
sasanquaneuf / definition.py
Created January 22, 2016 10:22
フォード・ファルカーソン法とその応用 - アルゴリズムクイックリファレンス8章の補足 - ref: http://qiita.com/sasanquaneuf/items/14a4c6459813abf6ccbd
# パスの一覧を取得する…結果はコスト、辺のリスト、係数のリスト
def getAllPath(edges, visited, f, t, r, c, e, a):
if f == t:
r.append((c,e,a))
for k in neighbor[f].keys():
if k not in visited:
getAllPath(edges, visited + [f], k, t, r, c + neighbor[f][k][2], e + [neighbor[f][k][1]], a + [neighbor[f][k][0]])
# パスに対して「今そのパスが取れる最大の値」を返す
def getMaximalFlow(world, (c,e,a)):
@sasanquaneuf
sasanquaneuf / TeQueue.py
Created January 21, 2016 12:21
Python(2.7)で更新可能な優先度つきキューを作りたい ref: http://qiita.com/sasanquaneuf/items/4850a1fd9357d224c5df
import heapq
def tepush(l, d, m, sortkey, value):
if not value in d:
generation = 1
else:
generation = d[value] + 1
d[value] = generation
heapq.heappush(l, (sortkey, value, generation))
length = len(l)
if length > m: # ヒープの再構成
@sasanquaneuf
sasanquaneuf / BreadthFirst.py
Last active June 7, 2019 06:56
Pythonで迷路を解く - アルゴリズムクイックリファレンス6章の補足 - ref: http://qiita.com/sasanquaneuf/items/77bf6518b4bf97bcd15b
# 幅優先探索
import copy
# 近傍、使用済みフラグ(世代)の定義
verts = range(1,vs + 1)
verts.append('s')
verts.append('t')
neighbor = {}
used = {}
used['t'] = 0
@sasanquaneuf
sasanquaneuf / bucket
Last active January 22, 2016 10:26
バケツソートとn log nの壁 - アルゴリズムクイックリファレンス4章の補足 - ref: http://qiita.com/sasanquaneuf/items/39d00e6f49d87643d472
def bsort(a) # 非破壊的
l = a.length
b = Array.new(l){0}
for i in 0..(l-1) do
b[a[i]] = a[i]
end
return b
end
@sasanquaneuf
sasanquaneuf / file0.txt
Last active January 15, 2016 12:53
Windows10(64bit)のRubyでMeCabをつかう(Natto) ref: http://qiita.com/sasanquaneuf/items/e4e57b60d04b75d68f80
> gem install natto
class SampledesuController < ApplicationController
def index
render :text => "Hello, world!にほんご"
end
end
@sasanquaneuf
sasanquaneuf / server.R
Created December 24, 2015 15:04
Qlik SenseとShinyでコード進行を丁寧に描くと決めていたよ(Level 2) ref: http://qiita.com/sasanquaneuf/items/06d90cebe8b9ca775aea
library(shiny)
library(stringr)
library(arules)
library(DiagrammeR)
df.test <- data.frame(a=1,b=2)
shinyServer(function(input, output, session) {
output$hideScript <- renderText({
query <- parseQueryString(session$clientData$url_search)
@sasanquaneuf
sasanquaneuf / arules.R
Last active December 24, 2015 15:05
Rでコード進行を丁寧丁寧丁寧に可視化してみる(Level 1) ref: http://qiita.com/sasanquaneuf/items/aed57423b4edce26f783
library(arulesSequences)
# 上述の試行錯誤の名残…arulesSequencesでarulesも入る
# scraping.Rの続きで
t <- song_data_all[,c("before","after")]
result <- apriori(as(t,"transactions"), parameter = list(support = 0.008, confidence = 0.05))
# さだまさし→0.01/0.05
# 小田和正→0.005/0.05
# いきものがかり→0.005/0.05
@sasanquaneuf
sasanquaneuf / Program.cs
Last active December 20, 2015 10:37
Qlik Sense Desktop × Surface Pro3で10億件のデータを試してみる ref: http://qiita.com/sasanquaneuf/items/68274d59328b4d418017
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program