非負実数につかえないのて
優先度つきキュー(ヒープ)からpopしちゃうから
その後に後から更新されないからですか?それって
foreach neighbor v of u:
のところでQにまだはいってるのじゃなくて
グラフの構造からすべての隣接ち頂点を見るようにすれば解決しませんか?
そういうわけでもないと思いますがあまり考えると悩みそうで時間かかりそうだら
一緒に考えてください。(並列処理)T・T
https://stackoverflow.com/questions/13159337/why …
No.1ベストアンサー
- 回答日時:
英語は得意なのかね。
やっぱり帰国子女なのかいな。ダイクストラ法でエッジの重みに非正数が使えないのは、単に正数を想定したアルゴリズムだから(笑)。単にそれだけ(笑)。他に特に深い理由はないでしょ(笑)。
今だとグラフ、って言ってるけど、そもそもダイクストラがこのアルゴリズムを考えた時って「最短経路問題」を考えてたから、でしょう。「最短距離」だよ?実用的な意味で「長さが負」とかありえないでしょ(笑)。貴女の家から学校までの距離が−500m、とかどんな状態なんだ、と言う(笑)。
基本的にプログラミングは「応用数学」(Applied Mathematics)だから、あくまで「実用範囲」の計算の話になる。厳然とした数学上のグラフでは「負の重み」は理論上アリえても、ある程度「制限を付けた話」がプログラムでの実用上の話になる。
なお、ダイクストラ法は重みが正数、って前提だけど、負数でも使えるアルゴリズムはまた別にあって、貴女がどうしても負数の重みを用いたい、って言った場合はダイクストラ法じゃなくってそっちのアルゴリズムを採用すりゃあエエ話です。
Bellman–Ford algorithm:
https://en.wikipedia.org/wiki/Bellman%E2%80%93Fo …
なるほど。ぜんぜん歴史館とか考えませんでした。なんかあくまでもくてきがあてものことを忘れちゃいますね。帰国子女てほど海外にいませんけど半分アメリカです。
No.3
- 回答日時:
> どういうところですか?
例えば前の質問のタイトルとか?
「どちのほうがすきですか?」
You wrote どち、but the correct way to write down is "どっち".
However, I know "っ" is very difficult to be distinguished for English speakers.
Thus, you apparently have characteristics of English (or European language) speakers have, which pointed out you are very close to an English-is-a-native-tongue lady, when you write as you speak.
> 関数型言語?はすごい難しそうだし頭いい人しか使えないと思います。
いや、これは逆かな。関数型言語の方が簡単です。
関数型言語を「難しい」って言う人って、単に思考形式が、例えばCとかの「手続き型」の方に慣れちゃったから、なの。
むしろ初心者に近い時点の方が関数型言語の方が色々とラクです。「貴女の思い通りにプログラムが書ける」。
もう一つはね。例えば貴女が「ゆゆにゃ指向プログラミング言語」ってのを作ろうとするじゃない?どういう形式か知らんが(笑)。Yuyunya Orientated Programming Language、YOPだ(笑)。
でもさ、「新しく形式を立ち上げる」って事は「より簡単にプログラム出来るようにする為」なんだよ(笑)。でしょ?「前よりも難しくプログラムするように作ろう!」とか言う人は一人もいないわけだから。
オブジェクト指向だって、「手続き型でプログラムするのが難しい」トコを簡単にする為に作られたんだ・・・それが成功してるかどうか、って判断はまた別だけどね。
よって関数型プログラミングは「手続き型やオブジェクト指向でプログラミングする難しさをより簡単にする」為にある。つまり、「もっと簡単だ」ってのが正解なの。
※: とは言いながら、実は「関数型言語」は尤も古い形式のプログラミングスタイルの一つではある・・・ここでも「関数型プログラミング」は新しかった為、登場当時の「Fortran Style」に慣れていたプログラマの不興を買ってる(笑)。
要は、実は単に「慣れの問題だ」ってのが一番大きい。
> ハスケルは圏論つかうとか聞いたことあります。めちゃ難しそうで全然想像できない。。
うん。まぁ、Haskellは「やり過ぎ」ではあるんだよね(笑)。
ええと、あとでもう一つの質問の方に書こう、って思って準備してるんだけど、ザックリと。
In Computer Science, assignment(代入) and Input-and-Output(入出力) are not CALCULATION. They are called side-effects(副作用)。
Side-effects are necessary around programming. But they are not acceptable as "Mathematically" functions. So Haskell guys were trying to let them be in Mathematical context.....
That's where MONAD comes from, by using a complex "category theory"(圏論).
However, remember not all functional programming guys agree with Haskell style, or purely functional programming language. Almost all functional programming languages except Haskell and a-likes accept side-effects. They are called "impure" functional languages.
OCaml and Microsoft #F are "impure" ones. So, don't be afraid. No Monad, No category theory.
> たしかにパイソンはみんな簡単って言うけどめちゃ簡単ってわけじゃないと思います。
そう、歴史的に見ると、Pythonってどんどん難しくなってんだよ(笑)。まぁ、「言語が進化する」ってのはそういう事でもあるんだけど、ぶっちゃけJava化してる(笑)。Too complex to be understood by newbiesだ。
> まだ変ですか??
いや、今回はかなり大丈夫です(笑)。
I think you are pretty smart 笑
That's the exact thing people around me point out as me sounding weird (I consider myself Japanese tho), but you are the first one to analyze it like that
そなんですね??なんか関数型言語をつかってるひとがみた事ないから、すごい学者さんとかが使うのかなと思いました。QuoraでHaskell のを読んだけど、誰も使ってないといってました笑
side effects ていう考えはなんかわかりそうでわからないけど、もうちょっと木じゃなくて森よみるみたいなかんがえなのかな??て思いました。
かめたんさんは何でも聞くと知ってるからほんとにscholar だと思います
No.2
- 回答日時:
> 帰国子女てほど海外にいませんけど半分アメリカです。
ああ、やっぱそうか。
If you preferred, I would use English to write to you. I do not know if my fuckin' English is acceptable or not...
A girl appeared here almost one year ago reminds me the possibility that you are a sort of returnee. Generally speaking, writing Japanese is somehow difficult to do for returnees(especially 漢字! as you guess).
I think you can sometimes post the questions written in English if you are better at. Do not be afraid to do so 'cause now we have A.I. translating tools such as ChatGPT, or whatsoever, which conveniently support us. No problemo. Hasta la vista, baby. Great technology at 2024. Sooner would come Skynet. You are gonna reprogram a Terminator.
Well, I am not a scientist at all. I am a user of a functional programming language(関数型プログラミング言語), which you asked before. "Referential Transparency(参照透過)", "Co-recursion(余再帰)", and "Lazy Evaluation(遅延評価)"... do you remember these terms? The way I program is related to these kinds of things.
To be honest, Python is no longer a good programming language for beginners. I know a bunch of people say "Python is simple to learn"; however, when they say so, they recall a "particular Python" when they learned. In the most cases, they assume Python 2.x. in their mind. In contrary, Python 3.x became much complex. As you said, Python 3.x is entirely covered with a bunch of iterators, which is conceptually incomprehensive for newbies.
Of course, iterators are powerful and useful; however, Python seems to become some kind of an ad-hoc language. In other words, Python is no longer consistent.
If you are serious at programming, you had better to learn a functional programming language, such as Ocaml or F#, which is consistent. You have seemed interested in the Math area; therefore, this kind of tools would also help you much.
A functional programming language is much more advanced, easier to program, powerful, and highly descriptive. You will learn a bunch of concepts, techniques and new points of view of programming and algorithm.
In Japan, the book below is a good tutorial for functional programming:
プログラミングの基礎:
https://www.saiensu.co.jp/search/?isbn=978-4-781 …
This text book is being used in Ochanomizu University.
In addtion to that, you may watch video lectures using this text book here:
「プログラミングの基礎」を使った授業紹介:
http://pllab.is.ocha.ac.jp/~asai/book-mov/
You may find the lecture around Dijkstra's algorithm you mentioned here.
I hope these things help you.
Whatttt
Wait I just wanna make something clear, is my Japanese that bad...?
そんなに変ですか??どういうところですか?
but you sound really sweet<3 ありがとうございます <33
やっぱりすごい人だと思ってました笑 関数型言語?はすごい難しそうだし頭いい人しか使えないと思います。 ハスケルは圏論つかうとか聞いたことあります。めちゃ難しそうで全然想像できない。。
たしかにパイソンはみんな簡単って言うけどめちゃ簡単ってわけじゃないと思います。
まだ変ですか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 変数の置き換えと範囲の確認につきまして 1 2022/05/21 14:31
- 数学 東大理系数学第4問の(3)について 4 2023/09/04 15:51
- 物理学 『数か物か』 4 2022/06/13 06:54
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- 数学 すべての自然数とすべての実数を1対1で対応させる(すべての実数を一列に並べる)方法について 3 2023/05/26 17:14
- カップル・彼氏・彼女 非処女は全て同じでは? 1 2022/09/17 08:28
- 数学 方程式 (sin x + 1)(cos x + 1) = k 7 2023/12/04 21:30
- カスタマイズ(車) 80スープラ(前期型)のライトコントロールスイッチについての質問です。 2 2023/04/04 17:00
- 英語 選択問題の選択肢の名詞につく冠詞が不定冠詞である理由について 6 2023/12/28 15:28
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
忘れられない激○○料理
これまでに食べたもののなかで、もっとも「激○○」だった料理を教えて下さい。 激辛、でも激甘でも。 激ウマ、でも激マズでも。
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
こんなことてしますか??
C言語・C++・C#
-
プログラミングの課題がわからないので教えていただきたいです。特にサークル関数を定義した後に呼び出す方
C言語・C++・C#
-
なんかC言語でプログラム書いてると脳汁というかエクスタシーというかなんかすげえ気持ちいいんですけどな
C言語・C++・C#
-
-
4
Linux Cプログラミングを学ぶための書籍
C言語・C++・C#
-
5
どちのほうがすきですか?
C言語・C++・C#
-
6
mallocについて
C言語・C++・C#
-
7
C言語 配列と関数の練習問題
C言語・C++・C#
-
8
C言語をコンパイルするとコンピュータ上でどう動くかというコードになるみたいな説明をよく聞くのですがこ
C言語・C++・C#
-
9
応用情報技術者試験の令和元年秋、午後のプログラムの問題がわからないです。
C言語・C++・C#
-
10
[C言語]fputsとfprintfの違い
C言語・C++・C#
-
11
右ビットシフト
C言語・C++・C#
-
12
プログラミングについて。 1つのループで Aという計算と Bという計算をするのと これらを分けて2つ
C言語・C++・C#
-
13
プログラムの実行時に'<'でリダイレクトする場合でも、キーボードからの入力を受け取られる件について
C言語・C++・C#
-
14
システムエンジニアの適正について
C言語・C++・C#
-
15
今ってプログラミング言語は何が中心?
C言語・C++・C#
-
16
だれがとけるの?
C言語・C++・C#
-
17
バッチファイルで以下のようなものは作れますか? ・Microsoft Defenderでウイルススキ
C言語・C++・C#
-
18
10進数からN進数に変換するプログラミング(C言語)
C言語・C++・C#
-
19
逆コンパイルと逆アセンブルの違いはなんですか
C言語・C++・C#
-
20
Python、プログラミングについて質問です
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
期間重複チェックがわかりません
-
シードを考慮したトーナメント...
-
テキストエディタ作成について
-
5人のテストの点数を入力すると...
-
openSSLのAES暗号化アルゴリズ...
-
画像から文字を認識してテキス...
-
傾いた長方形と、傾いていない...
-
アルゴリズムが苦手な人の、特...
-
SNSをやらない理由ってなんです...
-
Stuck
-
[ EXCEL VBA ] 図形を読み込む...
-
ハノイの塔のさいきアルゴリズ...
-
OpenCVのライセンスについて
-
Cプログラミング
-
あいまい検索(文字列一致率)
-
アルゴリズムとプロトコールの違い
-
アルゴリズムの問題教えてくだ...
-
偏りのある乱数のアルゴリズム
-
フリーセルの難易度について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
アルゴリズムとプロトコールの違い
-
[ EXCEL VBA ] 図形を読み込む...
-
5人のテストの点数を入力すると...
-
ハノイの塔のさいきアルゴリズ...
-
ハッシュアルゴリズム
-
Officeのラスタ画像の拡大縮小...
-
vbaで、連立方程式を解く方法に...
-
BCDについて
-
期間重複チェックがわかりません
-
シードを考慮したトーナメント...
-
偏りのある乱数のアルゴリズム
-
JPEG圧縮で8×8に分割する理由に...
-
ゲームプログラミングC/C++、SR...
-
書籍のソースコードを別言語に...
-
多変数関数の最小値を求めるプ...
-
ランダム関数を作りたい。
-
あいまい検索(文字列一致率)
-
一番近い組み合わせを見つけるには
-
C♯で電卓を作成しています。演...
おすすめ情報