Skip to content

Instantly share code, notes, and snippets.

Avatar

おちラボ ochilab

View GitHub Profile
@ochilab
ochilab / dynamodbdocumentmodel.cs
Created Jul 11, 2021
DocumentModelを利用してDynamoDBを操作する
View dynamodbdocumentmodel.cs
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.DocumentModel;
AmazonDynamoDBClient client = null;
Table table = null;
client = new AmazonDynamoDBClient();
//目的のテーブルを取得
table = Table.LoadTable(client, tableName);
@ochilab
ochilab / discoverBleak.py
Created Jun 17, 2021
bleakライブラリでBLE端末を発見する
View discoverBleak.py
import asyncio
from bleak import discover
import time
async def run():
while True:
devices = await discover()
for d in devices:
print(d.address,d.metadata,d.name,d.rssi)
@ochilab
ochilab / DynamoDBWrapper.cs
Created Apr 14, 2021
DynamoDB: DynamoDBMapperでBatch処理をする
View DynamoDBWrapper.cs
DynamoDBMapper mapper = new DynamoDBMapper(client);
List list = new ArrayList();
list.add(item);
list.add(item);
mapper.batchSave(list);
@ochilab
ochilab / heap.c
Last active Dec 9, 2020
ヒープ化をするプログラム(たぶん合ってるかな。。)
View heap.c
void heap (int array[], int left, int right) {
int target;
int parent;
for(parent=left;2*parent<=right;parent=target){
int cl = 2* parent; //左の子
int cr=cl+1;// 右の子
//比較対象の選定
if ((cl < right) && (array[cl] > array[cr])) {
target=cr;// 右の子の方が小さい
}
@ochilab
ochilab / SearchOpenBucket.c
Created Nov 17, 2020
ハッシュテーブルにおけるオープンアドレス法
View SearchOpenBucket.c
Bucket *SearchOpenBucket(Hash *h, Data x){
int i;
int key = hash(x.no); /* 探索するデータのハッシュ値 */
Bucket *p = &h->table[key]; /* 着目ノード */
for (i = 0; p->stat != Empty && i < h->size; i++) {
if (p->stat == Occupied && p->data.no == x.no)
return (p);
key = rehash(key);
p = &h->table[key];
}
@ochilab
ochilab / SearchChainNode.c
Last active Nov 17, 2020
ハッシュ法におけるチェイン法の実装
View SearchChainNode.c
Node *SearchChainNode (Hash *h, Data x){
int key = hash(x.no);/* 探索するデータのハッシュ値 */
Node *p = h->table[key]; /* 着目ノード */
while (p != NULL) {
if (p->data.no == x.no) /* 探索成功 */
return (p);
p = p->next; /* 後続ノードに着目 */
}
return (NULL); /* 探索失敗 */
}
@ochilab
ochilab / backetCount.py
Created Nov 17, 2020
オープンアドレス法のおいて再ハッシュ時に調べるバケット数
View backetCount.py
import matplotlib.pyplot as plt
import numpy as np
def f(a):
return ((1-a/2)/(1-a))
x = np.arange(0.0, 0.9, 0.01)
y=f(x)
plt.plot(x, y);
@ochilab
ochilab / dfToArray.py
Created Nov 16, 2020
データフレームのクラスをnumpyArrayに変換する
View dfToArray.py
#reshapeする
x = df.iloc[:, i]
x=x.values.reshape(-1,1)
#または、np.arrayで変換する
x = np.array(df.iloc[:, i])
View linearSearch.c
int test[10]={3,23,5,8,32,6,50,7,4,13};
int target = 50;
for(int i=0;i<10;++i){
if(target==test[i]){
printf("見つかりました\n");
return 0;
}
}
printf("見つかりませんでした\n");
return 0;
View binSearch.c
int test[10]={1,2,3,4,5,6,7,8,9,10};
//探索範囲左端
int left=0;
//探索範囲右端
int right=9;
//中央の位置
int mid;
//検索値
int target =3