Submit Search
Upload
CL21で色々なデータ構造を実装してみようとした
•
Download as ODP, PDF
•
2 likes
•
4,991 views
B
blackenedgold
Follow
Lisp Meet Up Present by Shibuya.lisp #16での発表資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 21
Download now
Recommended
Common Lisp でビッグデータを作ろう
Common Lisp でビッグデータを作ろう
blackenedgold
Shibuya.lispのLisp Meet Up #10で発表した資料です。 スライドだと舌足らずなところがあるのでUstreamの発表も合わせてご覧下さい
C++ Now 2012 report
C++ Now 2012 report
Akira Takahashi
Redux, Relay, HorizonあるいはElm
Redux, Relay, HorizonあるいはElm
chuck h
かつて大人気であったMVCパターンに対して、最近のフロントエンド界隈ではすっかりポピュラーになったUIコンポーネント設計。 しかし国内のフロントエンド界隈では、React + Reduxの組み合わせが圧倒的に人気であるように思えます。今回はコンポーネント設計の別手段として、Relay, Horizon そしてElmについてカンタンな比較を行いたいと思います。
Rx入門
Rx入門
Takaaki Suzuki
2012/02/11 - 2012/03/17 Hokuriku.NET C# -Rx入門- セッション資料
Rx Showcase
Rx Showcase
Takaaki Suzuki
2012/03/10 Hokuriku.NET vol.9 セッション資料
それFluentdで! #fluentd
それFluentdで! #fluentd
Atsuko Shibuya
社内で実はあまり知らない、という声もあって、それfluentdでできるんだけどなぁという実装が多かったので、勉強会してみました。
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
XAML Standard
XAML Standard
m ishizaki
XAML Standard
Recommended
Common Lisp でビッグデータを作ろう
Common Lisp でビッグデータを作ろう
blackenedgold
Shibuya.lispのLisp Meet Up #10で発表した資料です。 スライドだと舌足らずなところがあるのでUstreamの発表も合わせてご覧下さい
C++ Now 2012 report
C++ Now 2012 report
Akira Takahashi
Redux, Relay, HorizonあるいはElm
Redux, Relay, HorizonあるいはElm
chuck h
かつて大人気であったMVCパターンに対して、最近のフロントエンド界隈ではすっかりポピュラーになったUIコンポーネント設計。 しかし国内のフロントエンド界隈では、React + Reduxの組み合わせが圧倒的に人気であるように思えます。今回はコンポーネント設計の別手段として、Relay, Horizon そしてElmについてカンタンな比較を行いたいと思います。
Rx入門
Rx入門
Takaaki Suzuki
2012/02/11 - 2012/03/17 Hokuriku.NET C# -Rx入門- セッション資料
Rx Showcase
Rx Showcase
Takaaki Suzuki
2012/03/10 Hokuriku.NET vol.9 セッション資料
それFluentdで! #fluentd
それFluentdで! #fluentd
Atsuko Shibuya
社内で実はあまり知らない、という声もあって、それfluentdでできるんだけどなぁという実装が多かったので、勉強会してみました。
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
XAML Standard
XAML Standard
m ishizaki
XAML Standard
Mishimasyk141025
Mishimasyk141025
Kazufumi Ohkawa
Cytoscapeでchemoinformatics
Real world lisp
Real world lisp
秀俊 伊藤
LT大会の資料。 Common Lisp布教用です。
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
Katsunori Kanda
Bazelを使ってDataflowアプリをビルドするとつらかったという話。gRPC+golangの組み合わせであればそれなりに使える。
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
Nagi Teramo
第31回R勉強会@東京(#TokyoR)の資料
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
ko ty
データベース実践入門読書会スペシャル 2015/11/28 at GEEKLAB.NAGANO #nseg
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
大江戸Ruby会議05で発表した内容です
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
genroku
code4lib japan 2020ライトニングトーク資料
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
mametter
Cookpad TechConf 2019 LT
ChEMBLを使おう
ChEMBLを使おう
Kazufumi Ohkawa
ChEMBLを使おう
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
Yohei Sasaki
CouchDB and Opensocial presentation at Open Source Conference 2009/Fall Tokyo.
20180620 pgx user_group#8
20180620 pgx user_group#8
Mio Takei
Cytoscape で Oracle PGX のデータの可視化
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
MacWorldTokyo
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
クラメソさっぽろIT勉強会 (仮) #3 2024.06.18
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
Hideo Kashioka
Scrum Fest Osaka 2024のセッション資料です。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
2024/6/14の勉強会で発表されたものです。
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
インタラクション2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Hirotaka Kawata
kotest は、 Kotlin ネイティブなテストフレームワークで、Kotlin で書かれたコードをテストするための強力で便利な機能が多く含まれています。 Kotlin/JVM では、テストに JUnit を使っている方が多いと思いますが、アサーションライブラリが Java しか考えていなかったり、coroutines, 非同期処理への対応が弱かったりと、もっと Kotlin の機能を最大限に活用して快適にテストを書きたいと思われる場面も多い事でしょう。 kotest は、アサーションライブラリだけを JUnit と組み合わせて使うこともできるし、テストフレームワーク全体を kotest へ置き換えることも可能です。 このセッションでは、主に今 JUnit を使ってテストを書いている方を対象に、kotest へ移行するとどんな良いことがあるのか、移行のやり方や具体的な実例を紹介します。
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
データ自動投入 AIのカスタマイゼーション(モデル選択、評価) 包括的なセキュリティ機能 既存システムとの統合(CI/CD) クラウドシフトは完了していますか?
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
AI/IT系の会社だと「データ」は商売道具の一つかと思いますが、その「データ」って今の社会で一体どんな価値を持っていて、今後どのような責務を担わせるのが健全なのだろうか?という思考の発散をしてみました。 ※喋りメインだったのでスライドだけだと内容薄いと思います, 気になった方はhttps://x.com/wox_aiまで。
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
AIの進化により、自動化、最適化、予測など、多くの業務プロセスが大きく変わりつつあります。しかし、その可能性を最大限に引き出すためには、AIを理解し、適切に活用するための新たな働き方が求められます。本セミナーでは、生成AIが業務プロセスの自動化や意思決定の高速化など、業務効率化にどのように貢献しているのか、さらに生成AIとリモートワークの組み合わせが、従業員の生産性向上にどのように結びつくのかを解説します。
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
IoT縛りの勉強会! IoTLT vol.112 @FIXER https://iotlt.connpass.com/event/320609/ 発表資料
More Related Content
What's hot
Mishimasyk141025
Mishimasyk141025
Kazufumi Ohkawa
Cytoscapeでchemoinformatics
Real world lisp
Real world lisp
秀俊 伊藤
LT大会の資料。 Common Lisp布教用です。
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
Katsunori Kanda
Bazelを使ってDataflowアプリをビルドするとつらかったという話。gRPC+golangの組み合わせであればそれなりに使える。
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
Nagi Teramo
第31回R勉強会@東京(#TokyoR)の資料
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
ko ty
データベース実践入門読書会スペシャル 2015/11/28 at GEEKLAB.NAGANO #nseg
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
大江戸Ruby会議05で発表した内容です
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
genroku
code4lib japan 2020ライトニングトーク資料
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
mametter
Cookpad TechConf 2019 LT
ChEMBLを使おう
ChEMBLを使おう
Kazufumi Ohkawa
ChEMBLを使おう
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
Yohei Sasaki
CouchDB and Opensocial presentation at Open Source Conference 2009/Fall Tokyo.
20180620 pgx user_group#8
20180620 pgx user_group#8
Mio Takei
Cytoscape で Oracle PGX のデータの可視化
What's hot
(11)
Mishimasyk141025
Mishimasyk141025
Real world lisp
Real world lisp
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
ChEMBLを使おう
ChEMBLを使おう
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
20180620 pgx user_group#8
20180620 pgx user_group#8
Recently uploaded
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
MacWorldTokyo
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
クラメソさっぽろIT勉強会 (仮) #3 2024.06.18
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
Hideo Kashioka
Scrum Fest Osaka 2024のセッション資料です。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
2024/6/14の勉強会で発表されたものです。
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
インタラクション2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Hirotaka Kawata
kotest は、 Kotlin ネイティブなテストフレームワークで、Kotlin で書かれたコードをテストするための強力で便利な機能が多く含まれています。 Kotlin/JVM では、テストに JUnit を使っている方が多いと思いますが、アサーションライブラリが Java しか考えていなかったり、coroutines, 非同期処理への対応が弱かったりと、もっと Kotlin の機能を最大限に活用して快適にテストを書きたいと思われる場面も多い事でしょう。 kotest は、アサーションライブラリだけを JUnit と組み合わせて使うこともできるし、テストフレームワーク全体を kotest へ置き換えることも可能です。 このセッションでは、主に今 JUnit を使ってテストを書いている方を対象に、kotest へ移行するとどんな良いことがあるのか、移行のやり方や具体的な実例を紹介します。
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
データ自動投入 AIのカスタマイゼーション(モデル選択、評価) 包括的なセキュリティ機能 既存システムとの統合(CI/CD) クラウドシフトは完了していますか?
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
AI/IT系の会社だと「データ」は商売道具の一つかと思いますが、その「データ」って今の社会で一体どんな価値を持っていて、今後どのような責務を担わせるのが健全なのだろうか?という思考の発散をしてみました。 ※喋りメインだったのでスライドだけだと内容薄いと思います, 気になった方はhttps://x.com/wox_aiまで。
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
AIの進化により、自動化、最適化、予測など、多くの業務プロセスが大きく変わりつつあります。しかし、その可能性を最大限に引き出すためには、AIを理解し、適切に活用するための新たな働き方が求められます。本セミナーでは、生成AIが業務プロセスの自動化や意思決定の高速化など、業務効率化にどのように貢献しているのか、さらに生成AIとリモートワークの組み合わせが、従業員の生産性向上にどのように結びつくのかを解説します。
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
IoT縛りの勉強会! IoTLT vol.112 @FIXER https://iotlt.connpass.com/event/320609/ 発表資料
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
2024年6月21日Sproutという勉強会のLT資料です。
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
人工知能学会 全国大会 (JSAI2024) で行ったポスター発表の内容です。
Recently uploaded
(13)
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
CL21で色々なデータ構造を実装してみようとした
1.
CL21でデータ構造を実装してみよ うとした Lisp Meet Up
Presented by Shibuya.lisp #16 2014-04-22 #lispmeetup κeen(@blackenedgold)
2.
自己紹介 ● Twitter: κeen(@blackenedgold) ●
Github: KeenS ● ブログ: een Happy Hac ing Blogκ の κ ● 東大数学科の4年生 ● …就活中 ● Lisp, Ruby, OCaml, シェルスクリプトが好き ● CIMの開発してます ● いちおーCL21のコミッタ
3.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
4.
CL21って?
5.
CL21って? ● 神託によって作られた神の言語 ● Github:
fukamachi/cl21 ● 既存の関数をユーザーフレンドリーに書き換え – eltとかgetfとか ● リードテーブルも書き換え – {:hoge foo}でハッシュとか – 要はオレオレリテラル。 ● よく使うライブラリは標準バンドル – 正規表現 – プロセス など
6.
なんでCL21で実装したの? ● 今後にシフトしそう(少くとも自分は) ● 使用例作りたかった ●
ユーザーに拡張の余地を残してある – MOP – read-table – 一部の関数をメソッドとして再定義 – abstract-sequence – abstract-hash-table
7.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
8.
abstract-sequence ● シーケンスを抽象化したもの ● ほぼ他の言語の抽象クラスと同じイメージ 1.abstract-sequenceを継承したクラスを実装 2.いくつかのメソッドを実装する(結構いっぱ い) 3.いろいろなメソッドが自動的に使えるように なる
9.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
10.
abstract-hash-table ● ハッシュテーブルを抽象化したもの ● abstract-hash-tableとほぼ同じ 1.abstract-sequenceを継承したクラスを実装 2.いくつかのメソッドを実装する(少ない) 3.ユーザーが透過的に使えるようになる まだ開発途上な感じ
11.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
12.
cl21-data-collections ● Github KeenS/cl21-data-collectionに置く予定 ●
通称蟻本を参考に実装 ● cl21のstdlibに入るといいなー ● まだ全然実装終わってない
13.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
14.
queue ● FIFOのシーケンス – push-back,
popがO(1) ● abstract-sequenceを実装 ● 内部的にはリストで保持。一番最後のコンスを持 つことでpush-backをO(1)にする ● abstract-sequenceのテストケースを流用してテ スト ● テストケース77
15.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
16.
heap ● 最小(最大)値をルートに持つ2分木 ● 最小値の参照はO(1) ●
値の追加、値(最小値)の取り出しはO(log n) ● abstract-sequenceは実装してない – 最小値以外は順序がないためpush-backとか無理 ● 内部は木ではなく配列で保持
17.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
18.
map ● 平衡二分木 – OCamlのMapを写経したため、具体的な名前は不明 ●
自然と値がソートされて保持される ● 値の参照、追加、削除がO(log n) ● 他にも範囲で取得とか便利なクエリも可能(未実 装) ● abstract-hash-mapを継承 ● abstract-sequenceも継承出来る?
19.
その他のデータ構造(実装予定) ● priority-queue – ヒープのkey-value版 ●
deque – 双方向連結リスト – queueが可哀想なことになっちゃうなー ● (ordered-)set – mapのkey-valueじゃない版 ● range – 主にmapの範囲クエリ投げる用 ● Union-Find木 – 競技プログラミング専用?必要ある?
20.
感想 ● abstract-sequenceで実装するメソッド多い – 逆順でイテレートとか明かに相性が悪いのもある ●
やっぱpushとpopの挙動変更したい – heapもabstract-sequenceを実装したい – あるいはabstract-collection? ● テストの自動生成あっても良いかも ● abstract-hashの機能充実したい
21.
以上 質問あればどうぞ
Download now