ホーム » 2017 » 12月 (ページ 2)

月別アーカイブ: 12月 2017

2017年12月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

最新の投稿(電子情報)

アーカイブ

カテゴリー

福井国体カウントダウンボード

鯖江市からの依頼により、電子情報工学科3年の学生さんたちが協力して、 福井国体のカウントダウンボードを作成しました。
このボードは、鯖江駅にて展示されています。

ハッシュ法

2分木なども終わって、検索処理のさらなる高速化として、 ハッシュ法を説明する。

オープンアドレス法

電話番号が記録されているのかどうかを探す処理を考えると、 最も単純な方法は、電話番号を配列の添字にする方法となる。

int array[ 1000000 ] ; // 局番2桁+4桁
void entry( int tel ) {
   array[ tel ] = tel ;
}
int search( int tel ) {
   if ( array[ tel ] == 0 ) // O(1) のアルゴリズム
      return 0 ;
   else
      return 1 ;
}

しかしこの方法では、0778621111 といった番号も考えると、 巨大なメモリを必要として、非現実的となる。 この際の解決法がハッシュ法で、データ件数が少なければ、 例えば電話番号の末尾2桁がおなじデータの発生する確率は低い。 もし、電話番号末尾2桁が同じでも、その番号の次の場所に保存するなどすればよい。

#define SIZE 100     // ハッシュ表のサイズ
int hash[ SIZE ] ;   // ハッシュ表
int hash_func( int phone ) {   // hash_func:ハッシュ関数
   return phone % SIZE ;
}
void entry( int phone ) {
int idx = hash_func( phone ) ; // idx:ハッシュ値
   while( hash[ idx ] != 0 )   // データ件数100で無限ループだけど...
      idx = (idx + 1) % SIZE ;
   hash[ idx ] = phone ;
}
int search( int phone ) {
   int idx = hash_func( phone ) ;
   while( hash[ idx ] != 0 ) {
      if ( hash[ idx ] == phone )
         return 1 ;
      idx = (idx + 1) % SIZE ;
   }
   return 0 ;
}

チェイン法

オープンアドレス法では、次の空き場所を探して保存するが、 表サイズよりもデータ件数を多く保存することはできない。

表が埋まって、同じハッシュ値のデータがでてきたら、同じハッシュ値どうしを リスト構造で保存する方法はチェイン法と呼ばれる。

struct List *hash[ SIZE ] ; // ポインタはNULLで全て初期化
void entry( int phone ) {
   int idx = hash_func( phone ) ;
   hash[ idx ] = cons( phone , hash[ idx ] ) ;
}
int search( int phone ) {
   int idx = hash_func( phone ) ;
   struct List* p ;
   for( p = hash[ idx ] ;
        p != NULL ;
        p = p->next )
   {
      if ( p->data == phone )
         return 1 ;
   }
   return 0 ;
}

高専ライブ:2017年12月10日(第554回)

  • 後期中間試験の話
  • サイエンス共和国 第17回 「灯の話 LED編パート2」
  • 冬の話
  • もし大金を手に入れたら・・・

担当:越後(2E,MC)、西島(3EI,MIX)、川﨑(4EI)、木村(F3)、西(教員)

APIEMS2017に参加

APIEMS2017で発表

12月4日~12月6日にインドネシアのジョグジャカルタで開催されたAPIEMS(アジア太平洋工業技術経営学会)にて、電子情報工学科の学生・教員(専攻科山田くん,5年三田くん,田中さん,北本くん,高島くん,野村くん,教員小越先生,西先生)が、研究内容や成果を発表してきました。

慣れない英語での発表でもあり、事前に英語科の先生に原稿の添削や発表練習にもご協力いただき、ありがとうございました。

ガジャマダ大学で研究交流

発表を終えた翌日には、インドネシアの国立大学ガジャマダ大学の近い研究分野の先生の所を訪問し、ガジャマダ大学・福井高専の相互の紹介に加え、学生同士が研究内容の情報交換などを行いました。

IchigoJamをAPIEMSやガジャマダ大で紹介

学会やガジャマダ大学では、本学科OBの福野氏が開発したIchigoJamなどをデモも行いました。

ボロブドゥブール遺跡見学

ガジャマダ大学の訪問の後、飛行機のフライトまでの最後の時間には、世界遺産となっているボロブドゥール遺跡を見学しました。

高専ライブ:2017年12月3日(第553回)

  • 研修旅行の話
  • 高専生に聞きたい5つのこと 第11回 ロボコン出場者

担当:水島(3C,MC),西島(3EI,MIX)、中島(3C)、中村(教員)

ETロボコン

青山研究室では、卒業研究でETロボコンにチャレンジしています。 12月2日には、金沢工業大学にて開催されたETロボコンのリベンジ大会に参加しました。

IchigoJam作成とプログラミング体験

1年電子情報の専門基礎Ⅲの実験にて、小型コンピュータIchigoJamの作成とプログラミング体験を行いました。教育用の簡単なコンピュータIchigoJamは、本学科OBのjig.jpの福野氏が開発したもので、本日は直々に福野氏を招いて作成・プログラミング体験を行いました。

{CAPTION}
つける部品を確認しながら

{CAPTION}
はんだ付け

{CAPTION}
完成品を試す