回答編集履歴

3

追記0を削除

2019/05/20 06:15

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -100,86 +100,66 @@
100
100
 
101
101
 
102
102
 
103
+ (追記の追記: Zuishinさんからご指摘をいただきました。見当違いなので、打消し線で削除します。)
104
+
105
+
106
+
103
- あ、そうそう。忘れてましたが、「データ構造」はC++以降の言語にはすでに備わっています。
107
+ ~~あ、そうそう。忘れてましたが、「データ構造」はC++以降の言語にはすでに備わっています。
104
108
 
105
109
  (ライブラリ側だろうけど。)
106
-
107
-
108
110
 
109
111
  確かに名称は若干違ったり、PythonとかVBAとかみたいな言語だと、
110
112
 
111
113
  C言語とかだと配列として扱われるのが「リスト構造」だったり...と差があるようですが、
112
114
 
115
+ 何かしらのもので提供されています。
113
116
 
114
-
115
- 何かしらのもの提供されてます。
117
+ C++でいえば、~~
116
118
 
117
119
 
118
120
 
119
- C++でいえば、
120
-
121
-
122
-
123
- ベクター: std::vector
121
+ ~~ベクター: std::vector
124
122
 
125
123
  リスト構造: std::list
126
124
 
127
125
  スタック構造: std::stack
128
126
 
127
+ ~~
129
128
 
129
+ ~~という具合に。
130
130
 
131
+ だから不要といえば不要。
132
+
133
+ でも、「データ構造とアルゴリズム」を学ぶことで**使い分け**がわかるようになりますよ。
134
+
135
+ 例えば、初心者に多いだろうと思うものが、
136
+
137
+ 「std::vectorとstd::listの違いって何? 同じように使えるけど?」
138
+
131
- という具合に
139
+ という感じでしょうか
140
+
141
+ でもデータ構造とアルゴリズムがわかっているなら、
142
+
143
+ ~~
132
144
 
133
145
 
134
146
 
147
+ ~~ベクター: 動的配列。最後尾に追加していくのは得意だが、途中( (N-1)≦i≧0 ) に追加したり削除したりするのは不得意。できなくもないが、さらに別のベクターを用意して...みたいな無駄が出てくる。
148
+
135
- だから不要といえば不要
149
+ また、ランダムアクセスが得意
150
+
151
+ リスト: リスト構造。C言語で言えば自身のポインタを持った構造体でつなげていく方式。
152
+
153
+ よって、途中( (N-1)≦i≧0 )の追加や削除が得意。ただし、ランダムアクセスが苦手。~~
136
154
 
137
155
 
138
156
 
139
- でも、「データ構造とアルゴリズム」を学ぶことで**使い分け**がわかるようになりますよ。
140
157
 
141
158
 
142
-
143
- 例えば、初心者に多いだろうと思うものが、
144
-
145
-
146
-
147
- 「std::vectorとstd::listの違いって何? 同じように使えるけど?」
148
-
149
-
150
-
151
- という感じでしょうか。
152
-
153
-
154
-
155
- でもデータ構造とアルゴリズムがわかっているなら、
156
-
157
-
158
-
159
- ```ここに言語を入力
160
-
161
- ベクター: 動的配列。最後尾に追加していくのは得意だが、途中( (N-1)≦i≧0 ) に追加したり削除したりするのは不得意。できなくもないが、さらに別のベクターを用意して...みたいな無駄が出てくる。
162
-
163
- また、ランダムアクセスが得意。
164
-
165
-
166
-
167
- リスト: リスト構造。C言語で言えば自身のポインタを持った構造体でつなげていく方式。
168
-
169
- よって、途中( (N-1)≦i≧0 )の追加や削除が得意。ただし、ランダムアクセスが苦手。
170
-
171
- ```
172
-
173
-
174
-
175
- というのが解れば、自分がやりたい処理から考えることができる。
159
+ ~~というのが解れば、自分がやりたい処理から考えることができる。
176
-
177
-
178
160
 
179
161
  もしランダムアクセスが不要だけど途中追加や削除を頻繁に行うならリスト構造( C++でいうならstd::list ) 、途中追加とかは不要だけどランダムアクセスをすることがあるならベクター( C++でいうならstd::vector )...
180
162
 
181
163
  という風に使い分けができる。
182
164
 
183
-
184
-
185
- そういう、「弱みや強みを理解し、使い分けができる」っていう利点もあるっちゃあるね。
165
+ そういう、「弱みや強みを理解し、使い分けができる」っていう利点もあるっちゃあるね。~~

2

修正0 for 0

2019/05/20 06:15

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -96,6 +96,10 @@
96
96
 
97
97
 
98
98
 
99
+ (追記: この部分の追記はどちらかといえばオブジェクト関係ですが、データ構造とアルゴリズムにもかかっているので書きました)
100
+
101
+
102
+
99
103
  あ、そうそう。忘れてましたが、「データ構造」はC++以降の言語にはすでに備わっています。
100
104
 
101
105
  (ライブラリ側だろうけど。)

1

追記0

2019/05/20 05:56

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -85,3 +85,97 @@
85
85
 
86
86
 
87
87
  つ [考え?](http://blog.livedoor.jp/crackstars/archives/770888.html)
88
+
89
+
90
+
91
+ ---
92
+
93
+
94
+
95
+ [追記0]
96
+
97
+
98
+
99
+ あ、そうそう。忘れてましたが、「データ構造」はC++以降の言語にはすでに備わっています。
100
+
101
+ (ライブラリ側だろうけど。)
102
+
103
+
104
+
105
+ 確かに名称は若干違ったり、PythonとかVBAとかみたいな言語だと、
106
+
107
+ C言語とかだと配列として扱われるのが「リスト構造」だったり...と差があるようですが、
108
+
109
+
110
+
111
+ 何かしらのもので提供されています。
112
+
113
+
114
+
115
+ C++でいえば、
116
+
117
+
118
+
119
+ ベクター: std::vector
120
+
121
+ リスト構造: std::list
122
+
123
+ スタック構造: std::stack
124
+
125
+
126
+
127
+ という具合に。
128
+
129
+
130
+
131
+ だから不要といえば不要。
132
+
133
+
134
+
135
+ でも、「データ構造とアルゴリズム」を学ぶことで**使い分け**がわかるようになりますよ。
136
+
137
+
138
+
139
+ 例えば、初心者に多いだろうと思うものが、
140
+
141
+
142
+
143
+ 「std::vectorとstd::listの違いって何? 同じように使えるけど?」
144
+
145
+
146
+
147
+ という感じでしょうか。
148
+
149
+
150
+
151
+ でもデータ構造とアルゴリズムがわかっているなら、
152
+
153
+
154
+
155
+ ```ここに言語を入力
156
+
157
+ ベクター: 動的配列。最後尾に追加していくのは得意だが、途中( (N-1)≦i≧0 ) に追加したり削除したりするのは不得意。できなくもないが、さらに別のベクターを用意して...みたいな無駄が出てくる。
158
+
159
+ また、ランダムアクセスが得意。
160
+
161
+
162
+
163
+ リスト: リスト構造。C言語で言えば自身のポインタを持った構造体でつなげていく方式。
164
+
165
+ よって、途中( (N-1)≦i≧0 )の追加や削除が得意。ただし、ランダムアクセスが苦手。
166
+
167
+ ```
168
+
169
+
170
+
171
+ というのが解れば、自分がやりたい処理から考えることができる。
172
+
173
+
174
+
175
+ もしランダムアクセスが不要だけど途中追加や削除を頻繁に行うならリスト構造( C++でいうならstd::list ) 、途中追加とかは不要だけどランダムアクセスをすることがあるならベクター( C++でいうならstd::vector )...
176
+
177
+ という風に使い分けができる。
178
+
179
+
180
+
181
+ そういう、「弱みや強みを理解し、使い分けができる」っていう利点もあるっちゃあるね。